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

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

poj2492 A Bug

2019-11-10 20:51:05
字體:
來源:轉載
供稿:網友

 

A Bug's Life
Time Limit: 10000MS   Memory Limit: 65536K
Total Submissions: 35520   Accepted: 11650

 

Description

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.

Input

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 2000) 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.

Output

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.

Sample Input

23 31 22 31 34 21 23 4

Sample Output

Scenario #1:Suspicious bugs found!Scenario #2:No suspicious bugs found!

Hint

Huge input,scanf is recommended.

趁熱打鐵,馬上找了帶權并查集的題來做一做。

這個題就是告訴你兩個蟲子的性別不一樣,然后問你存不存在關系產生矛盾的蟲子。像第一組示例,1、2不同,2、3不同,那么1 3 應該是同性,結果又出來個1 3.所以產生了矛盾。

比較基礎的帶權并查集,也是兩個狀態。

沒學過帶權并查集的可以先看下這里:點擊打開鏈接

 

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN=2010;int n,m;int pre[MAXN],relation[MAXN];int findx(int x){    if(pre[x]==x)return x;    int order=pre[x];    pre[x]=findx(pre[x]);    relation[x]=(relation[x]+relation[order])%2;    return pre[x];}int main(){    int i;    int t;    scanf("%d",&t);    for(int tt=1; tt<=t; ++tt)    {        scanf("%d%d",&n,&m);        int x,y;        int flag=0;        for(i=1;i<=n;++i)        {            pre[i]=i;            relation[i]=0;        }        for(i=1; i<=m; ++i)        {            scanf("%d %d",&x,&y);            if(flag)continue;            int a=findx(x),b=findx(y);            if(a!=b)            {                pre[b]=a;                relation[b]=(relation[x]-relation[y]+1)%2;            }            else            {                int p=(relation[x]-relation[y]+2)%2;                if(!p)                {                    flag=1;                }            }        }        printf("Scenario #%d:/n",tt);        if(flag)puts("Suspicious bugs found!/n");        else puts("No suspicious bugs found!/n");    }    return 0;}

 

 

 

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舒兰市| 吉水县| 鲁山县| 贵港市| 抚宁县| 日照市| 清苑县| 来宾市| 响水县| 伊吾县| 海盐县| 莱州市| 旬邑县| 花莲市| 新源县| 资源县| 班玛县| 凤冈县| 古丈县| 波密县| 小金县| 光山县| 烟台市| 磴口县| 小金县| 中阳县| 中牟县| 龙胜| 宜黄县| 六盘水市| 武邑县| 昌邑市| 洛阳市| 宁德市| 隆昌县| 大方县| 偃师市| 望谟县| 乌拉特后旗| 荣昌县| 涿州市|