国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LA 3644 X-Plosives

2019-11-11 03:01:26
字體:
來源:轉載
供稿:網友

原題: A secret service developed a new kind of explosive that attain its volatile PRoperty only when a specific association of products occurs. Each product is a mix of two different simple compounds, to which we call a binding pair. If N > 2, then mixing N different binding pairs containing N simple compounds creates a powerful explosive. For example, the binding pairs A+B, B+C, A+C (three pairs, three compounds) result in an explosive, while A+B, B+C, A+D (three pairs, four compounds) does not. You are not a secret agent but only a guy in a delivery agency with one dangerous problem: receive binding pairs in sequential order and place them in a cargo ship. However, you must avoid placing in the same room an explosive association. So, after placing a set of pairs, if you receive one pair that might produce an explosion with some of the pairs already in stock, you must refuse it, otherwise, you must accept it. An example. Lets assume you receive the following sequence: A+B, G+B, D+F, A+E, E+G, F+H. You would accept the first four pairs but then refuse E+G since it would be possible to make the following explosive with the previous pairs: A+B, G+B, A+E, E+G (4 pairs with 4 simple compounds). Finally, you would accept the last pair, F+H. Compute the number of refusals given a sequence of binding pairs. Input The input will contain several test cases, each of them as described below. Consecutive test cases are separated by a single blank line. Instead of letters we will use integers to represent compounds. The input contains several lines. Each line (except the last) consists of two integers (each integer lies between 0 and 10 5 ) separated by a single space, representing a binding pair. Each test case ends in a line with the number ‘-1’. You may assume that no repeated binding pairs appears in the input. Output For each test case, the output must follow the description below. A single line with the number of refusals. Sample Input 1 2 3 4 3 5 3 1 2 3 4 1 2 6 6 5 -1 Sample Output 3

中文: 給你幾組數a和b,表示a和b會形成化合物,如果有有超過3個物品互相形成化合物就會爆炸。這樣的物品不能裝上車,如果讓你按照給出的順序把這些物品裝上車,有多少組不能夠裝上車?

#include <bits/stdc++.h>using namespace std;int father[100001];int Find(int x){ if(father[x]==x) return x; return father[x]=Find(father[x]);}int main(){ ios::sync_with_stdio(false); int a,b,ans=0; for(int i=1;i<=100000;i++) father[i]=i; while(cin>>a) { if(a!=-1) { cin>>b; int x=Find(a); int y=Find(b); if(x==y) ans++; else father[x]=y; } else { cout<<ans<<endl; ans=0; for(int i=1;i<=100000;i++) father[i]=i; } } return 0;}

解: 裸的并查集判斷環即可。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平县| 安乡县| 威远县| 嘉祥县| 英吉沙县| 银川市| 五指山市| 额敏县| 桂平市| 正阳县| 梅州市| 科尔| 泗洪县| 福建省| 全椒县| 汝南县| 长阳| 雷山县| 叙永县| 临武县| 连江县| 乃东县| 阳东县| 都安| 疏附县| 陵水| 六安市| 宁远县| 朝阳市| 扬中市| 林口县| 广宁县| 京山县| 北流市| 大城县| 张掖市| 虞城县| 鹤庆县| 榆社县| 宿松县| 龙山县|