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

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

LA 3644 X-Plosives

2019-11-11 04:31:27
字體:
來源:轉載
供稿:網友

原題: 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;}

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涞源县| 奉贤区| 屏东县| 永清县| 兰溪市| 和龙市| 红桥区| 长宁县| 苗栗县| 桐乡市| 安徽省| 镶黄旗| 固始县| 南宫市| 八宿县| 普宁市| 漯河市| 龙江县| 定西市| 泸溪县| 潜山县| 尖扎县| 乌审旗| 黔江区| 万全县| 东台市| 阳山县| 木兰县| 大宁县| 锦屏县| 工布江达县| 合作市| 正定县| 微博| 玉龙| 奉新县| 莱阳市| 灵丘县| 缙云县| 铜梁县| 洛阳市|