2011-06-10 16:59:05 小小错误,让我蛋疼。。。。。。 #include<iostream> #define N 510 using namespace std; int flag[N][N]={0},cnt[N]={0}; int main() { int i,j,w,l,n,m,count=0; scanf("%d%d",&n,&m); for(i=0;i<m;i++) { scanf("%d%d",&w,&l); if(flag[w][l]==0) { cnt[l]++; flag[w][l]=1; } } for(i=1;i<=n;i++) { if(cnt[i]==0) { count++; cout<<i; if(count<n) { printf(" "); } else { printf("/n"); break; } for(j=1;j<=n;j++) { cnt[j]-=flag[i][j]; } cnt[i]=-1; i=0;//就因为刚开始把i设为1这个小错误,蛋疼了许久,找不出来~~~ } } return 0; }