hdu 4857 反向拓扑问题
2024-09-01 13:32:03
尤其要注意拓扑的分层问题 不难理解 就是不怎么好想到 拓扑的思路这里就不累述了
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
#define maxn 30007
using namespace std; int T;
int n,m;
int in[maxn];
vector<int> edge[maxn];
priority_queue<int> q;
int main()
{
scanf("%d",&T);
while(T--)
{
memset(in,,sizeof(in));
scanf("%d%d",&n,&m);
for(int i =;i <= n;i++)
edge[i].clear();
int a,b;
for(int j =;j <= m;j++) {
scanf("%d%d",&a,&b);
in[a]++;
edge[b].push_back(a);
}
for(int i =;i <= n;i++)
if(!in[i]) q.push(i);
vector<int> ans;
while(!q.empty()) {
a = q.top();
ans.push_back(a);
q.pop();
for(int j =;j < edge[a].size();j++) {
b = edge[a][j];
in[b]--;
if(in[b] ==) q.push(b);
}
}
for(int i = ans.size()-;i > -;i--) {
if(i !=) printf("%d ",ans[i]);
else printf("%d\n",ans[i]);
}
}
return;
最新文章
- sprint one
- Theano入门神经网络(三)
- Java实例分析:宠物商店
- Orleans-Hello World
- SQL Server 存储过程进行分页查询
- 《C++之那些年踩过的坑(三)》
- 使用jQuery判断元素是否在可视区域
- Android 快速点击的处理
- 网络编程基础+UDP的实现
- 用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)
- 在python中定义二维数组
- RESTful API 设计指南(转)
- mysql系列四、mySQL四舍五入函数用法总结
- kali 安装qq
- TML 打印预览问题,怎么设置有些内容不出现在打印预览页面上。怎么控制,有下代码 看得不是很懂 求解释
- Android `AsyncTask`简要分析
- Orchard之生成新模板
- 关于MySql数据库主键及索引的区别
- selenium + python 怎样才能滚到页面的底部?
- web应用安全权威指南(文摘)
热门文章
- Mysql -- The used SELECT statements have a different number of columns
- Linux C Socket编程:文件上传
- SQL 引号中的问号在PrepareStatement 中不被看作是占位符
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_03-Eureka注册中心-搭建Eureka高可用环境
- 使用Lock对象实现同步效果
- VCL组件之TPanel
- Apache配置参数的优化
- 第二十二章 集成验证码——《跟我学Shiro》
- iOS-NSURLConnection异步发送 HTTP请求
- maven仓库里如何搜索三方包?查看流行软件