#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[105],b[105];
int f[105][105];
int ans;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i]>>b[i];
f[a[i]][b[i]]=1;
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
f[i][j]|=f[i][k]&f[k][j];
}
}
}
for(int i=1;i<=n;i++){
int sum=0;
for(int j=1;j<=n;j++){
sum+=f[i][j]|f[j][i];
}
if(sum==n-1) ans++;
}
cout<<ans;
return 0;
}
c++98 为什么这样不能AC,而将a[i],b[i]数组改成a,b变量就可以AC了...