7-12 任务调度的合理性 (25 分)

假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。

比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系,比如C程序设计和数据结构两门课,必须先学习前者。

但是需要注意的是,对一组子任务,并不是任意的任务调度都是一个可行的方案。比如方案中存在“子任务A依赖于子任务B,子任务B依赖于子任务C,子任务C又依赖于子任务A”,那么这三个任务哪个都不能先执行,这就是一个不可行的方案。你现在的工作是写程序判定任何一个给定的任务调度是否可行。

输入格式:

输入说明:输入第一行给出子任务数N(≤100),子任务按1~N编号。随后N行,每行给出一个子任务的依赖集合:首先给出依赖集合中的子任务数K,随后给出K个子任务编号,整数之间都用空格分隔。

输出格式:

如果方案可行,则输出1,否则输出0。

输入样例1:

12
0
0
2 1 2
0
1 4
1 5
2 3 6
1 3
2 7 8
1 7
1 10
1 7

输出样例1:

1

输入样例2:

5
1 4
2 1 4
2 2 5
1 3
0

输出样例2:

0
#include <bits/stdc++.h>
using namespace std;
int gm[105][105];
int degree[105];
int main() {int n,k,t;cin>>n;queue<int> q;for(int i=1; i<=n; i++){cin>>k;if(k==0)    q.push(i);degree[i]=k;for(int j=1; j<=k; j++){cin>>t;gm[i][t]=1;}}while(!q.empty()){k=q.front();q.pop();for(int i=1; i<=n; i++){if(gm[i][k]==1){gm[i][k]=0;degree[i]--;if(degree[i]==0)    q.push(i);}}}bool flag=true;for(auto i:degree)if(i!=0)flag=false;flag?cout<<1:cout<<0;return 0;
}

【未完成】7-12 任务调度的合理性 (25 分)相关推荐

  1. 7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀)

    一:题目 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行."任务调度"包括一组子任务.以及每个子任务可以执行所依赖的子任务集 ...

  2. 7-10 任务调度的合理性 (8 分)

    7-10 任务调度的合理性 (8 分) 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行."任务调度"包括一组子任务.以及每个 ...

  3. 任务调度的合理性 (25 分)

    7-6 任务调度的合理性 (25 分) 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行."任务调度"包括一组子任务.以及每个 ...

  4. 12门课100分直博清华!这份成绩单冲上热搜,但学霸小伙也曾考过25分

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一 ...

  5. 7-29 修理牧场 (25 分)

    7-29 修理牧场 (25 分) 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L ​i ​​ 个长度单位,于是他购买了一条很长的.能锯成N块的木头,即该木头的长度是L ...

  6. 1121 Damn Single (25 分)

    1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...

  7. [PTA]L2-001 紧急救援 (25 分)

    L2-001 紧急救援 (25 分) Description 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每 ...

  8. PTA 06-图2 Saving James Bond - Easy Version (25分)

    题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/672 5-10 Saving James Bond - Easy Version   ( ...

  9. 7-43 字符串关键字的散列映射 (25 分)(思路+详解+不懂的兄弟们来呀)兄弟们我干了5个小时,一个一个测试点过的

    一:题目 7-43 字符串关键字的散列映射 (25 分) 给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位 ...

最新文章

  1. Java - 排序大全
  2. python保持登录状态_“保持登录状态”-最佳方法
  3. Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)
  4. Hystrix面试 - 深入 Hystrix 线程池隔离与接口限流
  5. Python:Lasso方法、GM预测模型、神经网络预测模型之财政收入影响因素分析及预测...
  6. 自定义IBaseAdapter,简化适配器重复的步骤
  7. windows mysql 5.5 升级_windows环境mysql5.0晋级mysql5.5
  8. mysql查看表空间占用情况
  9. velocity语法
  10. 计算机数字键盘如何用,电脑小数字键盘不能使用的原因和解决方法
  11. OpenEuler安装 20212802范辰宇
  12. 【Python】html格式转md格式
  13. 昆石VOS3000_2.1.6.0.0一键安装教程
  14. Springboot 使用restTemplate 进行跨域请求 response reqeust中首字母大写的问题
  15. 百度实习转正学长面经-Java常见面试题目和解答,值得收藏
  16. 分享几个NB的素材网站
  17. html+css实现了简单的注册页面
  18. mysql聚类函数排序_聚类算法大盘点 - 如鱼饮水,冷暖自知 - OSCHINA - 中文开源技术交流社区...
  19. iPhone模拟定位(非越狱修改手机定位)
  20. 基于C#的Winfrom房产资源管理系统

热门文章

  1. python:假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
  2. web基础(一)——初识HTML5
  3. 代号记忆之数字和英文总结
  4. 排名方法可用于分数排名,购买量排名等排名计算
  5. 定积分的概念及可积条件
  6. 【C++】endl的作用
  7. Chrome插件的使用
  8. vue 运行项目浏览器页面显示“该网页无法正常运作”
  9. Android 如何发送地理位置消息
  10. 连共享打印机问题汇总