思路待整理

#include<cstdio>
#include<iostream>
#include<vector>
#include<queue>
#define maxn 2005
using namespace std;
string mapp[maxn];
int n,du[maxn];
vector<int> fuck[maxn];
void init()
{
for(int i=0;i<maxn;i++) fuck[i].clear(),du[i]=0;
}
void in()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>mapp[i];
for(int i=1;i<=n;i++)
{
for(int j=0;j<mapp[i].size();j++)
{
if(mapp[i][j]=='1')
{
fuck[i].push_back(j+1);// 对应位置搞清楚
du[j+1]++;
}
}
}
}
void solve()
{
queue<int> q;
for(int i=1;i<=n;i++) if(du[i]==0) q.push(i),du[i]=-1;
int num=0;
while(q.size())//思想是每次取出一个入度为零的点 然后将其指向的点的入度减一
{
// cout<<".."<<endl;
int temp=q.front();
q.pop();
num++;
for(int j=0;j<fuck[temp].size();j++) du[fuck[temp][j]]--;
for(int i=1;i<=n;i++) if(du[i]==0) q.push(i),du[i]=-1;//不断的有新的点需要加入
}
if(num==n) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
}
int main()
{
cin.sync_with_stdio(false);
int t,Case=0;
cin>>t;
while(t--)
{
init();//初始化
in();//输入
cout<<"Case #"<<++Case<<": ";
solve();
}
return 0;
}

最新文章

  1. 《Neural Network and Deep Learning》_chapter4
  2. Redis常用命令
  3. encodeURIComponent编码后java后台的解码 (AJAX中文解决方案)
  4. POJ 2516 Minimum Cost [最小费用最大流]
  5. Sqli-labs less 39
  6. 13test07;字符排序,去重,三三输出
  7. android适应屏幕
  8. iOS中二维码的生成与使用(入门篇)
  9. 创立Est•Design华服高级成衣定制工作室 - 北京服装学院-莱佛士国际学院
  10. velocity中使用枚举
  11. 23.Linux-块设备驱动(详解)
  12. linux 内核参数优化
  13. Linux一键安装宝塔控制面板
  14. [c++]大数运算---利用C++ string实现任意长度正小数、整数之间的加减法
  15. 小L的试卷
  16. 【剑指offer】输出链表倒数第K个元素
  17. ubuntu 使用命令行登录oracle
  18. python自动化之爬虫原理及简单案例
  19. 几种常见的JavaScript混淆和反混淆工具分析实战
  20. 【电信我想问一下,网页上多出的隐藏广告】究竟谁在耍流氓,还要不要脸了??? 0817tt 植入广告

热门文章

  1. ArcGIS数据建模 (模型构建器modelbuilder) 培训视频 5章28小节587分钟视频 51GIS网站上线
  2. vsCode中如何根据屏幕宽度自动换行
  3. Wamp 升级php7.3报错
  4. ubuntu 12.04 以固定 IP 地址连接网络并配置DNS
  5. 编译安装MySQL5.6
  6. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_03-Eureka注册中心-搭建Eureka高可用环境
  7. python高级知识
  8. Day9作业:socket之FTP工具
  9. sql 获取本周周一和周日
  10. redis列表和有序集合