poj2367 拓扑序
2015-09-09 16:50
316 查看
题意:有一些人他们关系非常复杂,一个人可能有很多后代,现在要制定一种顺序,按照前辈在后代前排列就行
拓扑序裸题,直接建边拓扑排序一下就行了。
View Code
拓扑序裸题,直接建边拓扑排序一下就行了。
#include<stdio.h> #include<string.h> #include<queue> using namespace std; int ma[105][105],id[105],n; void topo(){ queue<int>q; for(int i=1;i<=n;++i)if(!id[i])q.push(i); int cnt=0; while(!q.empty()){ int u=q.front(); q.pop(); printf("%d",u); if(++cnt==n)printf("\n"); else printf(" "); for(int i=1;i<=n;++i){ if(i!=u&&ma[u][i]){ id[i]--; if(!id[i])q.push(i); } } } } int main(){ scanf("%d",&n); for(int i=1;i<=n;++i){ int a; while(scanf("%d",&a)&&a){ ma[i][a]=1; id[a]++; } } topo(); return 0; }
View Code
相关文章推荐
- [算法] 两个有序数组求交集
- iOS8新功能——Self Sizing Cells和Dynamic Type
- JAVA多线程的设计模式
- inux 用户创建、管理、权限分配(总结)
- python发送各类邮件的主要方法
- Appium Java API 2
- python发送各类邮件的主要方法
- android textView WebView 两种方式 显示html 格式文本 带图片
- 浅析枚举类型
- Eval和Bind
- 连接池的作用及讲解
- 指针和二维数组
- Akka第一个案例动手实战main方法实现中ActorSystem等代码详解
- oracle特殊字符的ascii值
- 7.Android 自定义Loader
- Nginx配置文件nginx.conf中文详解&&实例讲解
- BOND linux
- Android数据库更新并保留原来数据的实现
- Java笔记(1)--------数据类型
- 小马哥----高仿红米1s 主板型号M9 新版屏幕驱动 拆机主板图与识别图