5-34 任务调度的合理性 (25分) 拓扑排序
来源:互联网 发布:ycut线切割编程系统 编辑:程序博客网 时间:2024/05/15 23:46
5-34 任务调度的合理性 (25分)
假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。
比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系,比如C程序设计和数据结构两门课,必须先学习前者。
但是需要注意的是,对一组子任务,并不是任意的任务调度都是一个可行的方案。比如方案中存在“子任务A依赖于子任务B,子任务B依赖于子任务C,子任务C又依赖于子任务A”,那么这三个任务哪个都不能先执行,这就是一个不可行的方案。你现在的工作是写程序判定任何一个给定的任务调度是否可行。
输入格式:
输入说明:输入第一行给出子任务数N(≤100),子任务按1~N编号。随后N行,每行给出一个子任务的依赖集合:首先给出依赖集合中的子任务数K,随后给出K个子任务编号,整数之间都用空格分隔。
输出格式:
如果方案可行,则输出1,否则输出0。
输入样例1:
12002 1 201 41 52 3 61 32 7 81 71 101 7
输出样例1:
1
输入样例2:
51 42 1 42 2 51 30
输出样例2:
0
#include "string.h"#include "iostream"using namespace std; #define Max 105int Graph[Max][Max],Move[Max],Degree[Max],Top;int main(){ //freopen("1.txt","r",stdin); cin>>Top; memset(Graph,0,sizeof(Graph));memset(Degree,0,sizeof(Degree)); memset(Move,false,sizeof(Move)); int m,i,j,n;for(i=1;i<=Top;i++){ cin>>m; for(j=1;j<=m;j++){cin>>n; if(Graph[i][n]==0){ Graph[i][n]=1; Degree[i]++;}}} for(i=1;i<=Top;i++){int k=-1;for(j=1;j<=Top;j++){ if(Degree[j]==0){ k=j;Degree[j]=-1;break;}} if(k==-1){break;} else{ for(j=1;j<=Top;j++) { if(Graph[j][k]==1) { Degree[j]--; Graph[j][k]=0; } }}} if(i>Top) cout<<"1"<<endl;else cout<<"0"<<endl; return 0;}
0 0
- 5-34 任务调度的合理性 (25分) 拓扑排序
- 5-34 任务调度的合理性 (25分) 拓扑排序
- 5-4 任务调度的合理性 (25分)(拓扑排序)
- 任务调度的合理性(拓扑排序)
- 5-34 任务调度的合理性 (25分)
- PTA-数据结构 5-34 任务调度的合理性 (25分)
- 6-06. 任务调度的合理性(25) -- 拓扑排序
- 7-34 任务调度的合理性(25 分)
- 数据结构课设 任务调度的合理性 (拓扑排序)
- 6-06. 任务调度的合理性(25)(拓扑排序啊 ZJU_PAT)
- PTA5-1 任务调度的合理性(拓扑排序判断有无回路)
- 任务调度的合理性
- pta 5-2 任务调度的合理性
- pta 任务调度的合理性
- 6-06. 任务调度的合理性(25)
- PAT6-06. 任务调度的合理性
- PTA5-1 任务调度的合理性
- L3-2 任务调度的合理性
- HTML addEventListener() 方法和attachEvent()区别分析
- HBase, Memcached, MongoDB, Redis和Solr对比
- dedecms DIY
- HDU 2795 Billboard
- Fuel7.0安装脚本(for virtualbox)执行过程
- 5-34 任务调度的合理性 (25分) 拓扑排序
- AIDL实现Android进程间通信实例
- vtk等值面体绘制|纹理映射体绘制 附:不透明传输函数,颜色传输函数、光照与阴影
- 为Spring MVC开启异步任务
- 2016SDAU课程练习三1001 Problem A
- Java中的instanceof关键字
- Hadoop完全分布式安装
- 前端学习笔记(1)——HTML <meta> 标签中http-equiv
- Keil uVision、RealView MDK、Keil C51之间的关系