刻录光盘(cdrom)

Description

在FJOI2010夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保证每个人都能拿到刻录上资料的光盘,怎么办呢?!

DYJ分析了一下所有营员的地域关系,发现有些营员是一个城市的,其实他们只需要一张就可以了,因为一个人拿到光盘后,其他人可以带着U盘之类的东西去拷贝啊!

他们愿意某一些人到他那儿拷贝资料,当然也可能不愿意让另外一些人到他那儿拷贝资料,这与我们FJOI宣扬的团队合作精神格格不入!!!

现在假设总共有N个营员(2<=N<=200),每个营员的编号为1~N。DYJ给每个人发了一张调查表,让每个营员填上自己愿意让哪些人到他那儿拷贝资料。当然,如果A愿意把资料拷贝给B,而B又愿意把资料拷贝给C,则一旦A获得了资料,则B,C都会获得资料。

现在,请你编写一个程序,根据回收上来的调查表,帮助DYJ计算出组委会至少要刻录多少张光盘,才能保证所有营员回去后都能得到夏令营资料?

Input

先是一个数N,接下来的N行,分别表示各个营员愿意把自己获得的资料拷贝给其他哪些营员。即输入数据的第i+1行表示第i个营员愿意把资料拷贝给那些营员的编号,以一个0结束。如果一个营员不愿意拷贝资料给任何人,则相应的行只有1个0,一行中的若干数之间用一个空格隔开。

Output

一个正整数,表示最少要刻录的光盘数。

Sample Input 1

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

Sample Output 1

1

图的连通,把每个人看作图里的一个点,先把图连通然后让每个点指向他们 的父节点(也就是愿意给他们光盘的人),最后只要找到父节点是自身的点有多少个即可

代码:
#include <bits/stdc++.h>using namespace std;const int maxn = 1e3+5;
const int inf = 0x3f3f3f3f;
int p[maxn];
int e[maxn][maxn];int main()
{fill(e[0],e[0]+maxn*maxn,inf);int n;cin >> n;for(int i = 1 ; i <= n ; i++){int num;while(1){cin >> num;if(num == 0)break;e[i][num] = 1;}}for(int i = 1 ; i <= n ; i++)p[i] = i; for(int k = 1 ; k <= n ; k++){for(int i = 1 ; i <= n ; i++){for(int j = 1 ; j <= n ; j++)if(e[i][j] > e[i][k] + e[k][j])e[i][j] = e[i][k] + e[k][j];}}for(int i = 1 ; i  <= n ; i++){for(int j = 1 ; j <= n ; j++){if(e[i][j] != inf)p[j] = p[i];} }int cnt = 0;for(int i = 1 ; i <= n ; i++)if(p[i] == i)cnt++;cout << cnt << endl;return 0;
}

刻录光盘(cdrom)相关推荐

  1. 第三部分 数据结构 -- 第四章 图论算法-1383:刻录光盘(cdrom)

    1383:刻录光盘(cdrom) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 2798 通过数: 1121 [题目描述] 在FJOI2010夏令营快要结束的时候,很多营员提出来 ...

  2. 信息学奥赛一本通 1383:刻录光盘(cdrom) | 洛谷 P2835 刻录光盘

    [题目链接] ybt 1383:刻录光盘(cdrom) 洛谷 P2835 刻录光盘 [题目考点] 1. 图论:强连通分量 [解题思路] 首先对该问题进行抽象,每个人是一个顶点,如果A愿意把资料拷给B, ...

  3. 1383:刻录光盘(cdrom)

    [题目描述] 在FJOI2010夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习.组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保 ...

  4. linux自带的cd刻录,linux下刻录CDROM的命令

    在linux下可以使用cdrecord命令刻录光盘,其命令如下: 1. create iso file cd.iso mkisofs -o cd.iso -Jrv -V test_disk /home ...

  5. linux下刻录光盘读取不了_Linux下刻录光盘实战

    Linux下刻录光盘实战 linux下刻录光盘非常简单,只需在终端窗口输入以下命令即可: cdrecord -v speed=2 dev=0,0,0 cd.iso cdrecord软件在发行版中一般都 ...

  6. linux刻录文件,Linux命令行下刻录CD-ROM数据光盘详细过程

    在Linux 环境下,我们也可以轻松制作数据光盘(ISO 9660格式).早期制作光盘都是采用命令行方式进行的,但是由于大多数电脑爱好者不熟悉Unix,因此,在命令行下刻录光盘显得比较繁杂.后来,随着 ...

  7. 用计算机刻录光盘,刻录光盘,教您如何使用计算机将文件刻录到光盘上.

    最近,当编辑者浏览Web时,我不小心闻到了强烈的闷热气,因此编辑者跟随着这种气息找到了来源. 原来,朋友们正在讨论如何使用计算机将文件刻录到CD. 看到问题后,编辑者急忙回到这里写一篇有关它的文章. ...

  8. linux下刻录光盘读取不了_Linux下刻录光盘

    linux下刻录光盘非常简单,只需在终端窗口输入以下命令即可: cdrecord -v speed=2 dev=0,0,0 cd.iso cdrecord软件在发行版中一般都有,如果安装系统时没有安装 ...

  9. linux刻录光驱是哪个好,Linux中使用mkisofs或genisoimage刻录光盘

    基本用法: mkisofs (or genisoimage) -R -o image.iso /path/of/folder 如有中文不能显示尝试: mkisofs (or genisoimage) ...

最新文章

  1. 读书笔记之: 计算机网络(第4版)- 第6章 传输层
  2. mybaits一:初步认识mybatis
  3. 第二次冲刺 站立会议5
  4. c语言 异或_编程入门:C语言基础知识全网超全不用到处找了!(文末附清单)
  5. 泰禾光电机器人研发_机器之眼 | 3D相机能让机器人看见什么?
  6. 正则表达式【第二卷】
  7. Python内置函数(37)——sorted
  8. linux 远程管理
  9. node repl环境
  10. 车辆运动控制(2)车辆横摆动力学建模
  11. hbase scan超时设置_hbase scan limit 10
  12. 注册邮箱验证激活技术
  13. 适用于 Flutter 的 Google 移动广告 SDK 正式版现已发布
  14. 洗礼灵魂,修炼python(67)--爬虫篇—cookielib之爬取需要账户登录验证的网站
  15. 清风数模课---多元回归分析
  16. Snails 1.0正式发布
  17. localhost:8080打不开原因解决方法
  18. 【参赛作品31】ODBC驱动连接MogDB/openGauss
  19. 学习过程中部分c语言疑惑问题的代码验证
  20. 一文带你读懂“技术系统演化模式”

热门文章

  1. 计算机专业 英语六级作文,英语六级作文范文大全:信息技术
  2. 上市公司的工程师,水平怎么样?看看这个案例
  3. https://mp.weixin.qq.com/s/z9sEM1sSOY1wnKjaTiSOsg
  4. boost::multi_index 提供一种千人在线即时排行榜的设计思路
  5. 解决惠普战99 2023 4050 安装ubuntu 20.04 扩展显示器不亮
  6. 浏览器滑块、鼠标事件、鼠标滑轮、键盘事件详细说明
  7. CCF-CSP-202012-2-期末预测之最佳阈值-python100分
  8. 成为一名厉害的程序员,需要哪些必备知识
  9. Centos6.9下tar.xz结尾的文件的解压方法
  10. 【ChatGLM vs ChatGPT】怎样实现机器人自动写代码?不少于3000字。