P2835 刻录光盘

来一波FLOYD最短代码qwq

#include<cstdio>
using namespace std;
#define FOR(i) for (register int i=1;i<=n;i++)
int n,x,a[201][201],f[201];
int main() {
while(~scanf("%d",&n)) {
FOR(i) while(scanf("%d",&x),x) a[i][x]=1;//建图,i可以将资料拷贝给x
FOR(k) FOR(i) FOR(j) a[i][j]|=(a[i][k] && a[k][j]);//FLOYD:i和j本身可以到达或可经k到达,则i与j相连
FOR(i) f[i]=i;
FOR(i) FOR(j) if (a[i][j]) f[j]=f[i];//类似并查集,寻找祖先(入度为0的点)
FOR(i) x+=(f[i]==i);//统计祖先数(即祖先不能从别的点拷贝到资料,所以每个祖先都需要一份)
printf("%d\n",x);
}
return 0;
}

最新文章

  1. WebServices复习
  2. UIViewController相关知识
  3. Python之扩展包安装
  4. JQuery+Ajax制作省市联动
  5. CodeCover初体验
  6. jquery怎么实现跨域的访问呢?与别人提供的接口连接
  7. android 开发:讯飞的离线命令识别器官方demo使用及demo下载
  8. TCP/IP 中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议
  9. Hadoop学习之自定义二次排序
  10. hadoop的webUI查看Live Nodes为1
  11. SQL Server 2008 R2 添加登录账户配置权限
  12. Day2:html和css
  13. JavaScript开发工具大全
  14. 配置国内 Docker Registry Mirror
  15. 一、python基本语法元素(温度转换)
  16. [转载] Oracle之内存结构(SGA、PGA)
  17. 【转】AngularJs HTTP请求响应拦截器
  18. java struts2入门学习--防止表单重复提交.OGNL语言学习
  19. Python中各种括号的区别、用途及使用方法
  20. UILabel 自适应高度,宽度

热门文章

  1. Python 2, Python 3, Stretch &amp; Buster
  2. 为什么说 2017 年你必须要学习 Go 了(多核,网络,多人协作,简单非OO,没有注解,Native,垃圾收集,代码优雅),附两个评论
  3. JAVA 拼接了一个sql 语句,但是最后运行报错——SQL 命令未正确结束
  4. .NET Core 微服务之Polly熔断策略
  5. SYN6109型 NTP网络子钟
  6. Android native进程间通信实例-binder篇之——简单的单工通信
  7. RestTemplate使用不当引发的问题分析
  8. Linux不重启识别新添加的磁盘
  9. Python中的字符编码
  10. 记一次SQL优化。