hrbust 1631 技能修炼 (裸拓扑)
来源:互联网 发布:ktv小姐怎么出台 知乎 编辑:程序博客网 时间:2024/06/14 08:22
技能修炼Time Limit: 1000 MSMemory Limit: 32768 KTotal Submit: 129(61 users)Total Accepted: 66(51 users)Rating: Special Judge: NoDescription
每次循环挑选出一个最小满足点 。
寒假第三次周赛强势袭来,首先祝愿大能依靠自己所学的取得一个好成绩。学习之余,我们在这里说一个有关游戏的问题,你来解决一下。一般的游戏中人物技能在修炼时有个特点,就是后面的技能一般都要修炼了前面的某些个才可以修炼。比如10级有一个技能火弹术,20级有一个火焰术,那么此时假如你没修炼10级的火弹,你就不能直接修20级的火焰术,就是这样的道理。现在的问题是,给定一些个技能间的依赖关系,你来写程序来判断该以什么样的顺序来修炼这些技能。为了简化问题,我们用数代表不同的技能,一个数代表一种技能,输入形式N1 N2则代表N1是N2的前置技能。
Input本题有多组测试数据,每组中第一行为两个数N(1 <= N <= 500)和M(1 <= M <= N*(N-1)/2),其中N表示技能总数,接下来有M行。每行是代表两个技能的数字N1和N2,表示N1是N2的前置技能。
Output对每组测试数据,输出确定下来的技能修炼顺序,要求对于输入的每组数据,输出一行,一行中各技能之间以一个空格间隔(行尾不该有空格而是换行符)。
注意,对于排序的结果可能不是唯一的,这时要求先输出代表技能的数较小的。
Sample Input4 3
1 2
2 3
4 3
Sample Output1 2 4 3
Hint对于上面的样例中2和4都是3的前置技能,但是数字2较小,因此先输出2。
AuthorZeroPointer@HRBUST每次循环挑选出一个最小满足点 。
挑选 n次
#include<stdio.h>#include<string.h>#include<vector>#include<queue>#include<iostream>#include<algorithm>using namespace std;#define N 505int in[N];int n,m;int maps[N][N];int vis[N];void init(){ memset(maps,0,sizeof(maps)); memset(vis,0,sizeof(vis)); memset(in,0,sizeof(in));}void Toopo(){ int F=0; for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { if(!in[j]&&!vis[j]) { vis[j]=1; if(F) cout<<' '<<j; else { cout<<j; F=1; } for(int k=1; k<=n; k++) { if(maps[j][k]) { in[k]--; } } break; } } } cout<<endl;}int main(){ while(cin>>n>>m) { init(); int x,y; for(int i=1; i<=m; i++) { cin>>x>>y; if(!maps[x][y]) maps[x][y]=1,in[y]++; } Toopo(); }}
阅读全文
0 0
- hrbust 1631 技能修炼 (裸拓扑)
- 哈理工OJ 1631 技能修炼(拓扑排序)
- Hust oj 1631 技能修炼(拓扑排序)
- 哈理工oj 1631 技能修炼【拓扑排序】
- Hrbust1631技能修炼
- 软件架构师的12项修炼——关系技能修炼(1)
- 软件架构师的12项修炼——关系技能修炼(2)
- 嵌入式软件工程师的技能修炼
- Vim技能修炼教程(1)
- Vim技能修炼教程(2)
- Vim技能修炼教程(3)
- Vim技能修炼教程(4)
- Vim技能修炼教程(4)
- Vim技能修炼教程(5)
- Vim技能修炼教程(6)
- Vim技能修炼教程(7)
- Vim技能修炼教程(8)
- Vim技能修炼教程(9)
- Android 播放多媒体文件
- MySQL数据库索引的类型与使用规则
- LVDS参数明细
- kvm
- 1029. 旧键盘
- hrbust 1631 技能修炼 (裸拓扑)
- placeholder兼容IE8代码
- linux上准确kill应用的进程
- 实现UITextView的placeholder及限制输入次数(干货)
- GetClientRect用法
- FTP虚拟用户名模式
- Spark的广播变量和累加变量
- java--泛型擦除
- php 文件写入 文件最加内容