hdu 4324 Triangle LOVE 拓扑排序
2015-07-30 14:16
537 查看
[code]#include<stdio.h> #include<stack> #include<string.h> #include<algorithm> using namespace std; int mp[2000 + 5][2000 + 5], in[2000 + 5],u[2000+5]; int main() { int _, i, j, k, n, cas = 0,t; char s[2000 + 5]; bool flag; scanf("%d", &_); while (_--) { memset(mp, 0, sizeof(mp)); memset(in,0,sizeof(in)); memset(u,0,sizeof(u)); scanf("%d", &n); flag=0; for (i = 0; i < n; i++) { scanf("%s", s); for (j = 0; j < n; j++) { if (s[j] == '1') { mp[i][j] = 1; in[j]++; } } } stack<int>s; while(!s.empty()) s.pop(); for(i=0;i<n;i++) { if(in[i]==0) s.push(i); } while(!s.empty()) { t=s.top(); u[t]=1; s.pop(); for(i=0;i<n;i++) { if(mp[t][i]) { in[i]--; if(in[i]==0) s.push(i); } } } for (i = 0; i < n; i++) { if(u[i]) continue; for (k = i+1; k < n; k++) { if(u[k]) continue; if (!mp[i][k]||mp[k][i]) continue; for (j = 0; j < n; j++) { if(u[j]) continue; if (mp[k][j] && mp[j][i]&&!mp[j][k]&&!mp[i][j]) { flag = 1; break; } } if (flag) break; } if (flag) break; } if (!flag) printf("Case #%d: No\n", ++cas); else printf("Case #%d: Yes\n", ++cas); } return 0; }
相关文章推荐
- Xcode6及以上版本,创建Auto Layout 约束时产生的一些变化
- 实用CMD命令
- 开发运行hadoop的AvgScore程序
- 输入年月日时分秒,要求输出该年月日时分秒的下一秒,如果输出2004年12月31日59分59秒,输出2005年1月1日0时0分0秒
- 时屏蔽ios和android下点击元素时出现的阴影
- hdu 4324 Triangle LOVE 拓扑排序
- 神一般的链家自宫后就能飞吗?
- android自动接通电话:部分手机不支持
- 15. PHP 全局变量 - 超全局变量
- 技术知识图
- 妙用AlertActivity的mAlertParams 和 mAlert
- 吸血鬼数字,Java编程思想第四章练习10
- jvm笔记
- iOS中的URLSession
- 162.Find Peak Element (寻找数组中的峰值点)
- 苹果Mac电脑安装win10正式版图文教程
- oracle资料收集
- Android点击输入框以外的地方隐藏输入框和键盘
- 如何调用dll文件中的函数
- Activity生命周期