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

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

LA 3644 X-Plosives

2019-11-11 02:31:30
字體:
來源:轉載
供稿:網友

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉善左旗| 沙田区| 贺州市| 肥乡县| 项城市| 山西省| 南乐县| 贵阳市| 连州市| 四川省| 股票| 长乐市| 定州市| 锡林浩特市| 长寿区| 平江县| 日土县| 崇州市| 秭归县| 和林格尔县| 南通市| 民权县| 汝城县| 察隅县| 永新县| 正阳县| 西乡县| 福州市| 太和县| 招远市| 汝阳县| 塔河县| 稷山县| 塔城市| 柳州市| 五家渠市| 穆棱市| 云安县| 宜黄县| 九江市| 徐汇区|