麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

A Bug's Life

2019-11-10 19:11:59
字體:
來源:轉載
供稿:網友

A Bug's Life

時間限制:1000 ms  |  內存限制:65535 KB難度:4描述 Background PRofessor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their interactions were easy to identify, because numbers were printed on their backs. Problem Given a list of bug interactions, decide whether the experiment supports his assumption of two genders with no homosexual bugs or if it contains some bug interactions that falsify it.輸入The first line of the input contains the number of scenarios. Each scenario starts with one line giving the number of bugs (at least one, and up to 10000) and the number of interactions (up to 1000000) separated by a single space. In the following lines, each interaction is given in the form of two distinct bug numbers separated by a single space. Bugs are numbered consecutively starting from one.輸出The output for every scenario is a line containing "Scenario #i:", where i is the number of the scenario starting at 1, followed by one line saying either "No suspicious bugs found!" if the experiment is consistent with his assumption about the bugs' sexual behavior, or "Suspicious bugs found!" if Professor Hopper's assumption is definitely wrong.樣例輸入
23 31 22 31 34 21 23 4樣例輸出
Scenario #1:Suspicious bugs found!Scenario #2:No suspicious bugs found!

解題報告:種類并查集。把性別相同的蟲子放在同一個集合,然后每讀入一對蟲子號,判斷它們在不在同一集合,在則同性別,不在則繼續。

code

#include<iostream>#include<stdio.h>#include<queue>#include<vector>#include<stack>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int MAXN = 10005; /*結點數目上限*/int pa[MAXN];    /*pa[x]表示x的父節點*/int rank[MAXN];    /*rank[x]是x的高度的一個上界*/int gender[MAXN];  // 與i性別相反的蟲子號/*創建一個單元集*/void make_set(int x){    pa[x] = x;    rank[x] = 0;    gender[x]=0;}/*帶路徑壓縮的查找*/int find_set(int x){    if(x != pa[x]){        pa[x] = find_set(pa[x]);    }    return pa[x];}/*按秩合并x,y所在的集合*/void union_set(int x, int y){    x = find_set(x);    y = find_set(y);    if(rank[x] > rank[y])/*讓rank比較高的作為父結點*/    {        pa[y] = x;    }    else    {        pa[x] = y;        if(rank[x] == rank[y])            rank[y]++;    }}int main(){  //  freopen("input.txt","r",stdin);    int t,m,n,k=1;    scanf("%d",&t);    while(t--){        scanf("%d%d",&m,&n);        for(int i=1;i<=m;i++){ //初始化            make_set(i);        }        int a,b,flag=1;        for(int i=0;i<n;i++){            scanf("%d%d",&a,&b);            if(!flag) //結果出來之后也要把數據讀完                continue;            if(find_set(a)==find_set(b)){  //判斷兩個蟲子在不在同一個集合                flag=0;                continue;            }            if(gender[a]==0) gender[a]=b; //把性別相同的蟲子放在同一個集合里            else union_set(gender[a],b);            if(gender[b]==0) gender[b]=a;            else union_set(gender[b],a);        }        if(k!=1)            printf("/n");        if(flag)            printf("Scenario #%d:/nNo suspicious bugs found!/n",k++);        else            printf("Scenario #%d:/nSuspicious bugs found!/n",k++);    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久国久产久精永久网页 | 毛片118极品美女写真 | 成人毛片视频在线观看 | 亚州视频在线 | 成人羞羞在线观看网站 | 免费在线性爱视频 | 成人精品aaaa网站 | 国产精品亚洲一区二区三区在线观看 | 精品亚洲夜色av98在线观看 | 美女黄视频在线观看 | 亚洲精品 在线播放 | 毛片网站视频 | 亚洲电影在线观看高清免费 | 日韩黄色片免费看 | 欧美a v在线 | 日韩黄色影视 | 爱唯侦察 国产合集 亚洲 | 欧美日韩在线视频观看 | 午夜色片| 高清中文字幕在线 | 羞羞视频免费观看入口 | 天天草天天爱 | 久久久久久久久久久久久国产精品 | 美女视频免费一区二区 | 一区二区久久久久草草 | 免费看成年人网站 | 中文字幕涩涩久久乱小说 | 亚洲精品午夜视频 | 91精品国产91 | 久久99精品久久久久久国产越南 | 欧美午夜网 | 成人免费精品视频 | 在线成人免费观看视频 | av色在线观看 | 草草视频在线 | 91一区二区三区久久久久国产乱 | h视频免费在线 | 国产成人羞羞视频在线 | 亚洲生活片 | av在线免费看网站 | 国产 日韩 亚洲 欧美 |