BUGLIFE - A Bug’s Life


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.

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.

Example

Input:
2
3 3
1 2
2 3
1 3
4 2
1 2
3 4

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

hide comments
wangbx: 2021-08-30 07:10:16

It seems everybody speaks of bipartite and dfs/bfs,but this problem can also be solved with union-find sets

Last edit: 2021-08-30 07:11:41
citizendot: 2021-08-16 14:03:55

Can be done with DFS. Bipartite is not necessary.

killjoy_1: 2021-08-01 19:20:53

My solution is correct but it shows a compilation error :(

Waseem Ahmed: 2021-07-18 19:03:22

Simple bipartite problem solved with BFS. When stack empty, push unvisited nodes onto stack and continue.

avx_5801: 2021-07-09 14:27:10

@sa03195100 i guess out put will be :-
1
8 12
1 8 1
1 2 1
1 3 1
2 3 2
2 4 1
2 5 2
2 6 2
3 5 2
4 5 2
5 6 2
5 7 1
6 7 2
Scenario #1:
No suspicious bugs found!

avx_5801: 2021-07-09 13:17:28

Bipartite Using BFS

the_art_maniac: 2021-07-03 20:45:22

for c++ use vectors instead of arrays or declare global arrays with max size atleast 4000 (for nodes) , i was using max size 2005 keeping the 2000 limit in mind but it took more than 20 WA to figure that out :(

terminator0309: 2021-06-17 10:17:12

Be ware of the output format, i missed colon in output :( 2WA because of that!

loser_404: 2021-06-05 17:48:15

Similar problem like "Is it a tree" which solved earlier here using bipartite coloring ,lol. Just if a node is not colored at all it still gonna be "no suspicion". Caused 2WA and an hour for that

shandilya21b7: 2021-05-31 11:32:49

PYTHON ! RUNTIME ERROR DUE TO STACKOVERFLOW
can be solved by setting recursionlimit above 2000->
import sys
sys.setrecursionlimit(2100)


Added by:Daniel Gómez Didier
Date:2008-11-17
Time limit:1s-5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:2007 PUJ - Circuito de Maratones ACIS / REDIS