思路

不断删入度为1的点及其出边。

图解

#include <bits/stdc++.h>
using namespace std; const int maxn=1e5+10;
vector<int> vec[maxn];
int InDeg[maxn],seq[maxn],tot;
int T,N,M; bool topological()
{
queue<int>q;
tot=0;
for (int i=1;i<=N;i++) {
if (!InDeg[i]) {
q.push(i);
seq[tot++]=i;
}
}
int cnt=0;
while (!q.empty()) {
int u=q.front();
q.pop();
cnt++;
for (int i=0;i<vec[u].size();i++) {
if (--InDeg[vec[u][i]]==0) {
q.push(vec[u][i]);
seq[tot++]=vec[u][i];
}
}
}
return cnt==N?true:false;
} int main()
{
scanf("%d",&T);
while (T--) {
scanf("%d%d",&N,&M);
for (int i=1;i<=N;i++) {
vec[i].clear();
}
memset(InDeg,0,sizeof(InDeg));
int x,y;
for (int i=0;i<M;i++) {
scanf("%d%d",&x,&y);
vec[x].push_back(y);
InDeg[y]++;
}
printf("%s\n",topological()?"Correct":"Wrong");
// for (int i=0;i<tot;i++) {
// printf("%d ",seq[i]);
// }
}
return 0;
}

拓扑排序板子 hihocoder-1174的更多相关文章

  1. HDU1285-确定比赛名次-拓扑排序板子题

    有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...

  2. Luogu1137 旅行计划(拓扑排序)

    题目传送门 拓扑排序板子题,模拟即可. 代码 #include<cstdio> #include<iostream> #include<cmath> #includ ...

  3. hihoCoder #1174:拓扑排序&#183;一

    [题目链接]:click here~~ 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 因为今天上课的老师讲的特别无聊.小Hi和小Ho偷偷地聊了起来. 小Ho:小Hi ...

  4. hihocoder 1174 [BFS /拓扑排序判断是否有环]

    hihocoder 1174 [算法]: 计算每一个点的入度值deg[i],这一步需要扫描所有点和边,复杂度O(N+M). 把入度为0的点加入队列Q中,当然有可能存在多个入度为0的点,同时它们之间也不 ...

  5. 题解报告:hihoCoder #1174:拓扑排序·一

    题目链接:https://hihocoder.com/problemset/problem/1174 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲 ...

  6. ACM: hihicoder #1174 : 拓扑排序·一 STL- queue

    #1174 : 拓扑排序·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来. 小Ho:小Hi,你这学期有选 ...

  7. hihoCoder #1457 : 后缀自动机四·重复旋律7(后缀自动机 + 拓扑排序)

    http://hihocoder.com/problemset/problem/1457 val[i] 表示状态i所表示的所有字符串的十进制之和 ans= ∑ val[i]在后缀自动机上,从起始状态走 ...

  8. hihocoder 1343 : Stable Members【拓扑排序】

    hihocoder #1343:题目 解释:一个学习小组,一共有N个学员,一个主管.每个学员都有自己的导师(一个或者多个),导师可以是其他学员也可以是主管.每周学员都要把自己的学习报告和收到的报告提交 ...

  9. hihoCoder 1175:拓扑排序二

    题目链接: http://hihocoder.com/problemset/problem/1175 题目难度:一星级(简单题) 今天闲来无事,决定刷一道水题.结果发现这道水题居然把我卡了将近一个钟头 ...

随机推荐

  1. mysql(3):锁和事务

    MySQL锁的介绍 锁是数据库系统区别于文件系统的一个关键特性.锁机制用于管理对共享资源的并发访问. 表级锁 例如MyISAM引擎,其锁是表锁设计.并发情况下的读没有问题,但是并发插入时的性能要差一些 ...

  2. 阿里配置docker镜像专属地址

    阿里配置docker镜像专属地址 待办 https://www.jianshu.com/p/6b416dff0691

  3. 修正_typora文档复制到博客图片失效

    开始 今天开始尝试使用 Typora 写markdown 然后复制到博客园,不过会有一个问题 那就是 typroa 插入的图片都是本地的,md文档复制到博客园之后,图片都失效了 通过百度,有工具可以直 ...

  4. Apache Kafka(十)Partitions与Replication Factor 调整准则

    Partitions与Replication Factor调整准则 Partition 数目与Replication Factor是在创建一个topic时非常重要的两个参数,这两个参数的取值会直接影响 ...

  5. 题解【2.23考试T1】div

    1. div[题目描述] 这是一道传统题,源代码的文件名为 div.cpp/c/pas. 给定一棵树,你要判断是否存在一条边,使得割掉这条边后,这棵树被分成了点数相等的两部分,并且如果存在,请你找到这 ...

  6. 生产环境设置mysql主从复制

    Slave服务器的版本要等于或者高于master服务器 现在的实例是在mysql 5.7上的主从配置 a) master服务器的my.cnf配置,server_id 推荐用IP的后两位数字 [mysq ...

  7. gerp 查找, sed 编辑, awk 根据内容分析并处理.的作用

    awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条件类型2{动作2}' filename, awk 也可以读取来自前一个指令的 standard input相对 ...

  8. python调用sqlite

    参考资料:https://www.liaoxuefeng.com/wiki/1016959663602400/1017801751919456  https://www.cnblogs.com/lia ...

  9. ubuntu14.04安装google chrome

    安装好Ubuntu14.04之后安装google chrome浏览器 1.按下 Ctrl + Alt + t 键盘组合键,启动终端 2.在终端中,输入以下命令 (将下载源加入到系统的源列表.命令的反馈 ...

  10. XFire调用CXF参数为Null的问题

    最近,领导分配了一个任务,做接口联调.情况是这样,对方客户升级了接口采用CXF,而我们还是用的XFire1.2.6,首先就遇到了这个问题:XFire调用CXF参数为Null的问题 . 在网上搜了一大堆 ...