假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。
比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和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<vector>
#include<stdio.h>
using namespace std;
vector<vector<int> >connect(128);
int main(){int mission[128],i,number,r,pioneer,flag=1,visited[128]={0};scanf("%d",&number);for(i=1;i<=number;i++){scanf("%d",mission+i);for(r=0;r<mission[i];r++){scanf("%d",&pioneer);connect[pioneer].push_back(i);}}while(flag){flag=0;for(i=1;i<=number;i++)if(!mission[i]&&!visited[i]){flag=1;visited[i]=1;for(r=0;r<connect[i].size();r++)mission[connect[i][r]]--;}}for(i=1;i<=number;i++)if(mission[i])break;if(i>number)printf("1");else printf("0");return 0;
}

提交结果:

7-34 任务调度的合理性(25 分)相关推荐

  1. 【未完成】7-12 任务调度的合理性 (25 分)

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

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

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

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

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

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

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

  5. 1121 Damn Single (25 分)

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

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

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

  7. 1067 Sort with Swap(0, i) (25 分)

    1067 Sort with Swap(0, i) (25 分) Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy ...

  8. 1095 解码PAT准考证 (25分)击破测试点3、4,50ms内通关

    1095 解码PAT准考证 (25分)测试点34用时低于35ms 前言 一.题目简介 二.原题内容 1. 设定 2. 输入格式 3. 输出格式 三.题目分析 1. 要求1分析 2. 要求2分析 3. ...

  9. 7-1 城市间紧急救援 (25 分)(最短路径:斯特拉算法)

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

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

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

最新文章

  1. 2019年度最受欢迎中国开源软件公布
  2. operator.itermgetter() (Python)
  3. WebSphere通过corba调Tuxedo问题(2)
  4. rest_framework02:修改数据/校验钩子/read_only和write_only
  5. 服务器上使用 git 更新 wordpress 内核方案
  6. Kibana饼图介绍
  7. 微信群机器人管理系统源码+支持同登陆多号
  8. matconvnet编译
  9. HTML 和 CSS 重构网页 (Steam主页)
  10. android手机拍摄视频格式,怎么用手机给自己拍摄的视频加上字幕?安卓手机视频编辑器给视频加字幕的方法...
  11. STM32F4寄存器初始化系列:GPIO
  12. pthread_cond_wait()理解
  13. 温故而知新:北桥和南桥
  14. solidworks万向节配合
  15. SOA构建电子政务平台 可用多种通信手段访问
  16. 2020年3月24日360笔试题目
  17. Qt实现QChart实时绘制动态曲线,代码可复制移植。
  18. 网页中添加QQ聊天代码
  19. 清新亮丽装饰 88平幸福四口之家
  20. Python一键下载1000张惊艳的微信头像

热门文章

  1. C++ lock_guard 自动释放锁
  2. php直播推流rtmp,直播推流nginx-rtmp-module集成
  3. 用maven的 Mybatis代码生成器
  4. 点石成金-Linux目录结构,命令,文件类型学习
  5. 永恩上线服务器维护,LOL10.16永恩BUG商城问题介绍-LOL10.16永恩BUG商城问题有哪些_牛游戏网...
  6. 手机录制的视频怎么旋转回来
  7. sap入门--操作指南
  8. CASS中基于高程点并生成等高线的方法
  9. Sen2Cor+SNAP处理Sentinel数据
  10. 值得感谢的10位顶级游戏制作人