拓扑
2015-08-17 08:28
274 查看
#include <iostream> #include <queue> #define Max 105 #include <string.h> using namespace std; queue <int >que; int xd[Max][Max]; int din[Max]; int main() { int M,n; int s,d; while(cin>>M>>n) { while(!que.empty()) que.pop(); memset(xd,0,sizeof(xd)); memset(din,0,sizeof(din)); for(int i=0;i<n;i++) { cin>>s>>d; xd[d][s]++; din[s]++; } for(int i=1;i<=M;i++) if(din[i]==0) que.push(i); int dq; while(!que.empty()) { dq=que.front(); que.pop(); for(int i=1;i<=M;i++) { if(xd[dq][i]!=0) { din[i]-=xd[dq][i]; xd[dq][i]=0; if(din[i]==0) que.push(i); } } } int k; for(k=1;k<=M;k++) if(din[k]) break; if(k<=M) cout<<"NO"<<endl; else cout<<"YES"<<endl; } // cout << "Hello world!" << endl; return 0; }
相关文章推荐
- hdu 5385 The path 贪心?构造
- OC:通讯录实战
- Java用native2ascii命令做unicode编码转换
- c++学习重点分析
- mac删除顽固图标
- 互联网公司做智能硬件要注意什么?
- qt预编译 提高编译速度
- 强命名程序集,签名,延迟签名
- 解决问题E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录
- java多线程(二)锁对象
- List的一阶函数操作代码实战详解之Scala学习笔记-24
- c++的用处
- 数据解析
- C++多线程调试和测试的注意事项
- C++初学者 const使用详解
- C++新手之培养良好的编程风格
- 解决Putty中文乱码
- C++新手之详细介绍MFC
- 瞧,这就是UE4 C++
- 正则表达式