国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永福县| 伽师县| 静乐县| 江门市| 巴马| 鄂温| 揭西县| 台北市| 筠连县| 公安县| 贡山| 岑溪市| 中宁县| 遂川县| 清远市| 金乡县| 信宜市| 杭锦后旗| 永德县| 安多县| 萝北县| 镇宁| 益阳市| 图木舒克市| 渭源县| 静宁县| 靖宇县| 罗甸县| 洪泽县| 太保市| 佛冈县| 平乐县| 清新县| 延津县| 大新县| 五河县| 视频| 长葛市| 揭阳市| 左贡县| 拉孜县|