1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| using namespace std; const int maxn=102; int dis[maxn][maxn];
int () { int n, m; cin>>n>>m; int a,b; for(int i=1; i<=n; i++) for(int j=1 大专栏 Cow Contest POJ - 3660; j<=n; j++) dis[i][j]=0; while(m--) { cin>>a>>b; dis[a][b]=1; } for(int k=1; k<=n; k++) for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) { if(k!=i&&k!=j&&i!=j) if(dis[i][k]&&dis[k][j]) dis[i][j]=1; } int ans=0; for(int i=1; i<=n; i++) { int cnt=0; for(int j=1; j<=n; j++) { if(dis[i][j]||dis[j][i]) ++cnt; } if(cnt==n-1) ++ans; } cout<<ans<<endl; return 0; }
|