#include<stdio.h> int main() { int n,m,count=0,i; scanf("%d%d",&n,&m); int a[1000],x[100],y[100]; for(i=0;i<n;i++) a[i]=0; for(i=0;i<m;i++) { scanf("%d%d",&x[i],&y[i]); if(a[y[i]]==0)\\能推出来的知识已经会了,所以此条作废 { if(a[x[i]]==0)\\如果这个知识学过就不用再学 count++; a[x[i]]++; a[y[i]]++; } } for(i=0;i<n;i++) if(a[i]==0) count++; printf("%d\n",count); }
此题思路是一个知识点会就把此知识点相关的都标记起来。
原文:http://www.cnblogs.com/scau-zk/p/4955014.html