Deity_armed. 16:45:52
博客:
第四次发博客了…
原题网址:https://begin.lydsy.com/JudgeOnline/problem.php?cid=1318&pid=15
密码:wwwwww
题目描述如下:
Time Limit: 1 Sec Memory Limit: 128 MB
Description
各国都在加大力度防范恐怖份子对于飞机的袭击,X国也不例外,液体一律不准带上飞机。
但是,X国最近打探到某恐怖分子集团正在密谋策划一项恐怖袭击,恐怖分子们准备使用固体材料来制造炸弹!
幸运的是,X国已经知道了恐怖分子们将使用某些特定的化合物来制造炸弹。每种化合物是由2种不同的不明元素构成的。
如果将k个化合物放在一起,而这k个化合物恰好含有k种元素,那么这些化合物就构成了一个炸弹。
例如:现在有6个化合物A+B, G+B, D+F, A+E, E+G, F+H,其中A+B, G+B, A+E, E+G这4种化合物中恰好含有4种元素
因此这4种化合物如果在一起,那么就会构成炸弹。
现在,机场的安俭部分已经收到了若干个即将被带上飞机的化合物,这些化合物将依次上飞机,对于每个化合物
你需要判断该化合物能否上飞机。(即判断他与之前已经上飞机的化合物是否会构成炸弹)。对于上面的例子,第5个化合物将不能被带上飞机。
Input
给出若干行,每行两个整数a和b,表示该化合物的两种元素。输入的最后,用一个-1表示输入文件结束。
对于所有的数据,元素的标号是一个[0,10^5]的整数。最多有 10^5个化合物
Output
一行,表示有多少个化合物不能上飞机。
Sample Input
1 2
3 4
3 5
3 1
2 3
4 1
2 6
6 5
-1
Sample Output
3

(由题面可知)本题暗藏样例:
Sample Input
1 2
7 2
4 6
1 5
5 7
6 8
-1
Sample Output
1

刚看到这题本蒟蒻想的是最普通(即输入为极简单的)的算法,写完后题目自身附带的两个样例AC了,然后本蒟蒻就作死般的提交了,不要想,自然是WA了,后来重新想了下题目,用并查集试了一遍,果然不出所料,AC了

思路:
用并查集边读边找,由于每个化合物仅有两个元素,每合并一次,增加一个化合物,但也增加了一个元素,可以抵消,故如果化合物中元素都属于一个集合,那么说明此时的化合物数量与元素数量相同,,说明可以制造炸弹,ans++,若不能,则继续搜索,直到循环结束…

代码如下:

#include <cstdio>
#include <iostream>
using namespace std;const int NUM=100001;int a,b,ans;
int v[NUM];int find(int u) //递归找到根节点
{if(u==v[u]) return u;return v[u]=find(v[u]); //用v数组存起来,使树扁平化(路径压缩),减少时间复杂度,避免超时
}void merge(int x,int y) //合并
{if(find(x)!=find(y))v[find(y)]=find(x);
}int main()
{for(int i=1;i<=NUM;i++)v[i]=i;while(true){scanf("%d",&a);if(a==-1){printf("%d",ans);return 0;}   scanf("%d",&b);if(find(a)==find(b)) ans++;    else merge(a,b);}
}

不足之处欢迎指出。
鸣谢!!!

入门OJ P:1702 爆炸化合物题解相关推荐

  1. 2019.6.7 一场搜索专题的考试【including 洛谷·血色先锋队,入门OJ·兴建高铁,珠光宝气阁

    这次分数还好.但全是搜索题还没上200就有点打击人了--[本狸才177QAQ 血色先锋队/血色敢死队 传送门:洛谷P1332 & 入门OJ P2259 Description 邪魔天国领主复活 ...

  2. 1092: 【入门】时间的差! 题解

    1092: [入门]时间的差! 题解 网站 题目描述 输入 输出 样例输入 样例输出 想法 程序 结尾 网站 http://oj.jzxx.net/problem.php?id=1092 题目描述 看 ...

  3. c语言3%10等于多少,[编程入门]数字的处理与判断-题解(C语言代码)

    # 1009题-[编程入门]数字的处理与判断-题解(C语言描述) 本题解的最终解释权归本人所有,主要用于本班上同学更好的掌握本题的解题方法,同时更好的理解和掌握方法. ------------ ### ...

  4. Comet OJ 2019 夏季欢乐赛题解

    Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...

  5. noip2017爆炸记——题解总结反省(普及组+提高组)

    相关链接: noip2018总结 noip2017是我见过的有史以来最坑爹的一场考试了. 今年北京市考点有一个是我们学校,我还恰好被分到了自己学校(还是自己天天上课的那个教室),于是我同时报了普及提高 ...

  6. c++ substr截取中间部分字符串_杭电OJ 字符串处理类部分题解

    一.前言 不知不觉已经大三上学期了,可作为一个计算机狗还没有考过CCF-CSP.因平时学习内容主要与安全方面相关,对于此类算法类的考核并没有太多的准备,故打算开始刷题复习算法和数据结构,准备CCF认证 ...

  7. c++怎么输入带有空格的字符串_杭电OJ 字符串处理类部分题解

    一.前言 不知不觉已经大三上学期了,可作为一个计算机狗还没有考过CCF-CSP.因平时学习内容主要与安全方面相关,对于此类算法类的考核并没有太多的准备,故打算开始刷题复习算法和数据结构,准备CCF认证 ...

  8. 【OJ】洛谷红题题解锦集(Java语言描述)

    前言 能看这篇文章,想来你可能是小白(或者切题的大佬),那这里会把洛谷的红题(当前只有P字段的本谷题目)进行一下整理,希望会合你口味吧-- 本文只附个人题解链接,不附题目链接(题解中自带),如想刷题请 ...

  9. 【bzoj 入门OJ】[NOIP 热身赛]Problem C: 星球联盟(并查集)

    Problem C: 星球联盟 Time Limit: 4 Sec  Memory Limit: 256 MB Submit: 57  Solved: 15 [Submit][Status][Web ...

  10. [Usaco2010 Hol]cowpol 奶牛政坛(入门oj Problem 5274)

    第三次发题解哈.有什么表述错误的请见谅(可以提出). 题目源地址:https://www.lydsy.com/JudgeOnline/problem.php?id=1776 文章目录 题目描述 输入 ...

最新文章

  1. 特斯拉“纯视觉路线”能去掉ISP吗?
  2. 深度丨AI 与区块链:两大热门技术,会碰撞出什么样的火花?
  3. 算法偏见是什么_算法可能会使任何人(包括您)有偏见
  4. python将excel导入mysql_Python将Excel数据自动导入MySQL,python,实现,excel,到,中
  5. java中簇如何表示_聚簇索引和非聚簇索引实际上是什么意思?
  6. UML---(1)一张图看懂UML 类图
  7. java.sql.SQLException: ORA01555: 快照过旧: 回退段号 4 过小
  8. 计算机辅助管理与制造,计算机辅助设计与制造,对产品的设备进行管理,完成产品加工制造...
  9. 第一讲 地理信息系统概述
  10. 【数据结构】有限状态自动机(FSA)的理解-LeetCode表示数值的字符串(有效数字)题解(Java)
  11. 分布式 - 谈谈你对分布式的理解,为什么引入分布式?
  12. 梅科尔工作室-梁嘉莹-鸿蒙笔记4
  13. 我的编程之路(三) 蜗居
  14. SMTP;ESMTP
  15. MySQL自定义函数实例
  16. CDMA2000简介
  17. 银联扫码支付及静态码回调验签
  18. IBM实习日记——6.16-6.18
  19. Struts 2漏洞及其影响版本(记录备查)
  20. Linux 双显卡 黑屏,维护必读 SUSE Linux黑屏解决方法

热门文章

  1. 《Linux系统最佳实践工具:命令行技术》新书抢先看
  2. Pr视频剪辑软件使用小结
  3. 软件测试的测试代码,软件测试(示例代码)
  4. 黑苹果hd630显存7m_一次黑苹果的折腾记录——修改缓冲帧,解决显存只有7M,正确驱动Intel核显...
  5. blender icons 图标
  6. QT 读取txt 文件
  7. 30款前端特效源码分享
  8. 推荐算法架构1:召回
  9. PDF转换成word转换器绿色版使用步骤
  10. arping的使用和原理简介