[2016-03-19][UVALive][3644][X-Plosives]

  • 时间:2016-03-19 12:26:47 星期六

  • 题目编号:[2016-03-19][UVALive][3644][X-Plosives]

  • 题目大意:n个物品如果含有n个元素,就会爆炸,会爆炸的话就不能放入仓库,问有多少个物品不能放入仓库

  • 分析:每次加入一个物品,如果含有新的元素,那么元素的数目始终大于物品的数目1个,如果新的物品含有已经存在的元素,那么一定会爆炸

  • 方法:并查集,已经加入的元素就不加

  1. #include <cstdio>
  2. using namespace std;
  3. #define FOR(x,y,z) for(int (x)=(y);(x)<(z);++(x))
  4. const int maxn = 1E5 + 100;
  5. int fa[maxn];
  6. void ini(){
  7. FOR(i,0,maxn) fa[i] = i;
  8. }
  9. int fnd(int x){
  10. return x == fa[x]?x:fa[x] = fnd(fa[x]);
  11. }
  12. int uni(int x,int y){
  13. x = fnd(x);y = fnd(y);
  14. if(x == y) return 0;
  15. fa[x] = y;
  16. return 1;
  17. }
  18. int main(){
  19. int u,v;
  20. while(~scanf("%d",&u)){
  21. int ans = 0;
  22. ini();
  23. while(~u){
  24. scanf("%d",&v);
  25. if(!uni(u,v)) ++ans;
  26. scanf("%d",&u);
  27. }
  28. printf("%d\n",ans);
  29. }
  30. return 0;
  31. }

来自为知笔记(Wiz)

时间: 2024-10-10 22:42:01

[2016-03-19][UVALive][3644][X-Plosives]的相关文章

Murano Weekly Meeting 2016.07.19

Meeting time: 2016.July.19 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1.Backports Link:  https://etherpad.openstack.org/p/murano-stable-backports/ 2.Convergence so both of our CI servers are running heat with convergence n

2016.1.19 DEV Express控件GirdControl使用

DEV控件在工具箱中消失处理方法 开始-->程序-->Developer Express v2009 vol 3(依据版本不同)-->Components-->Tools-->ToolboxCreator   1.点击一行选择完整一行 Run Designer->View->OptionsBehavior->EditorShowMode 设置为:Click Run Designer->View->OptionsSelection.EnableAp

分布式技术一周技术动态 2016.03.20

分布式系统实践 1. 基于Mesos和Docker的分布式计算平台 https://mp.weixin.qq.com/s?__biz=MzAxMDgzOTA2Mw==&mid=402769128&idx=1&sn=cea3ad1357bd9312acf1768c0a493bfd&scene=1&srcid=0318BTuxT0fsFYwPjpeyuDOa&key=710a5d99946419d90fbc1e7600cce055b6e997d6afafc74c

翻译:Gregory Larsen,2016/02/19(第一版:2014年12月17日)高级T-SQL阶梯1级:使用CROSS JOIN介绍高级T-SQL

原文链接:http://www.sqlservercentral.com/articles/Stairway+Series/119933/ 原文作者:Gregory Larsen,2016/02/19(第一版:2014年12月17日) 系列 本文是"Stairway Series:Stairway to Advanced T-SQL"的一部分 这个阶梯将包含一系列文章,这些文章将在前面两个T-SQL阶梯,T-SQL DML和T-SQL超越基础知识的T-SQL基础上进行扩展. 这个楼梯应

uboot.2016.03 在mini2440上norfalsh启动

本人有点懒惰,直接在smdk2410的基础上进行修改 (note :红色字体表示修改内容,蓝色字体表示增加内容) 1. 顶层的makefile 在247行 添加如下两条语句 :   ARCH :=arm     CROSS_COMPILE :=arm-linux- 2 修改始终频率 打开 u-boot-2016.03/arch/arm/cpu/arm920t/start.S 第77行 #if defined(CONFIG_S3C2410) #if defined(CONFIG_S3C2440)

2016.8.19

2016年8月19日.在杭州整整两个月.最近新添加了几个前端群.有一个群感觉特别的靠谱.很多分享.很多技术.给我的感觉有种干海绵碰到了大量的水.可能是做技术的对技术方面的渴求的这种感觉.老实说.之前对自己的技术是真的自信到不行.但是慢慢的,一些经历和经验.让自己对自己的判断越来越不像之前的那种浮夸感了.毕竟自己的经验还不够充足.资历就摆在这里.今天想到一句话.坐井观天,焉知是天? 勉励一下自己.希望能够不断前进.在努力和学习中不断攀高. 最后送一句:人生之所以迷茫,是因为我们的才华配不上我们的梦

【暑假】[实用数据结构]UVAlive 3644 X-Plosives

UVAlive X-Plosives 思路:    “如果车上存在k个简单化合物,正好包含k种元素,那么他们将组成一个易爆的混合物”  如果将(a,b)看作一条边那么题意就是不能出现环,很容易联想到Kruskal算法中并查集的判环功能(新加入的边必须属于不同的两个集合否则出现环),因此本题可以用并查集实现.模拟装车过程即可. 代码: 1 #include<cstdio> 2 #include<cstring> 3 #define FOR(a,b,c) for(int a=(b);a

2016/09/19

1. Python视频 1) 多层装饰器 USER_INFO = {} def check_login(func): def inner(*args, **kwargs): if USER_INFO.get('is_login', None): ret = func(*args, **kwargs) return ret else: print('please login') return inner def check_admin(func): def inner(*args, **kwarg

switch结构2016/03/08

Switch  03/08 一.结构 switch(){  case *: ;break;……default: ;brek;} 练习:输入一个日期,判断这一年第几天? Console.Write("请输入月份"); int m = int.Parse(Console.ReadLine()); Console.Write("请输入几号"); int d = int.Parse(Console.ReadLine()); int m1 = 31, m2 = 28, m3