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.


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.


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.


3 3
1 2
2 3
1 3
4 2
1 2
3 4

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

hide comments
abdo_farah: 2021-10-10 19:35:18

very weak test cases

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 :-
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

Added by:Daniel Gómez Didier
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