CAM5 - prayatna PR
help the Prayatna pr team
Well, the annual technical symposium of Department of Computer Technology is around the corner. All that we need, to make it a grand success is Publicity among the peer groups ( ofCourse the sponsors too :P ). We decided to share the job between the student groups. As per the plan we decided to meet people in person and influence them to attend Prayatna. But to meet them we have to go to various student groups. To do so, we had to cut our classes. But being studious. students refused to cut more classes. Instead of meeting every one in person we decided to meet few people such that the person to whom we pass the news will spread it to all his friends. And those friends will pass it to other friends and so on. Your task is to find the number of people to be met by the organizers to spread the news.
Caution: Large I/O
First line of input is 't' - Test cases. Follwed by N, the number of peers in the testcase ( 0 to N-1 ). followed by the number of friend description 'e'. Following are 'e' descriptions of type "a b" denoting 'a' friends with 'b'. If 'a' is friends with 'b' then 'b' is friends with 'a'.
Output contains t line, the number of people, the organizers have to meet in person for each test case.
Input: 2 4 2 0 1 1 2 3 0 Output: 2 3
case 1 : 0 is friends with 1; 1 is friends with 2; so if we pass the news to 0 & 3, news will pass it to the entire N peers.
case 2 : no one is friends with any one. So we have to meet every one in person.
t = 10
2 <= N <= 100000
0 <= e <= N/2
Can easily be solved using DSU
use faster I/O cost me one WA :(
Do not submit in python
Ac in One go simple dfs problem for beginner try to bfs to get better time efficiency
Hmm.. DFS didn't work! Connected components did it tho!.
Dfs is better but bfs will reduce your time complexity
My first dfs problem AC in one go
Copy And Paste Same Code Here
ac in one go...