fork download
  1. //08/06/2019
  2. #include<bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. #define debug printf("Debug\n");
  7. #define ll long long
  8. #define ull unsigned long long
  9. #define pi acos(-1.0)
  10. #define mod 1000000007
  11.  
  12. #define _fastio ios_base:: sync_with_stdio(false); cin.tie(0); cout.tie(0);
  13. #define in_freopen freopen("in.txt", "r", stdin);
  14. #define out_freopen freopen("out.txt", "w", stdout);
  15.  
  16. set<ll>st;
  17. vector<ll>graph[200005];
  18. ll level[200005],parent[200005],ev,od;
  19.  
  20.  
  21. void dfs(ll src,ll par){
  22. ll len=graph[src].size();
  23. for(ll i=0;i<len;i++){
  24. ll adj=graph[src][i];
  25. if(adj==par)
  26. continue;
  27. //cout<<adj<<src<<endl;
  28. level[adj]=level[src]+1;
  29. parent[adj]=src;
  30. dfs(adj,src);
  31. }
  32. }
  33.  
  34. void querydfs(ll src,ll par){
  35. ll len=graph[src].size();
  36. for(ll i=0;i<len;i++){
  37. ll adj=graph[src][i];
  38. if(adj==par)
  39. continue;
  40. if(level[adj]%2==0)
  41. ev++;
  42. else
  43. od++;
  44. querydfs(adj,src);
  45. }
  46. }
  47.  
  48. void Ini(){
  49. for(ll i=0;i<100005;i++){
  50. graph[i].clear();
  51. level[i]=0;
  52. parent[i]=0;
  53. }
  54. //memset(level,0,sizeof(level));
  55. //memset(parent,0,sizeof(parent));
  56. }
  57.  
  58. int main(){
  59. ll nodes,edges,t;
  60.  
  61. scanf("%lld",&t);
  62.  
  63. for(ll z=1;z<=t;z++){
  64. Ini();
  65. st.clear();
  66. scanf("%lld",&edges);
  67. for(ll i=1;i<=edges;i++){
  68. ll u,v;
  69. scanf("%lld %lld",&u,&v);
  70. graph[u].push_back(v);
  71. graph[v].push_back(u);
  72. st.insert(u);
  73. st.insert(v);
  74. }
  75.  
  76. ll ans=0;
  77. auto it=st.begin();
  78.  
  79. while(it!=st.end()){
  80. if(level[*it]==0){
  81. level[*it]=1;
  82. ev=0,od=1;
  83. dfs(*it,parent[*it]);
  84. querydfs(*it,parent[*it]);
  85. ans+=max(ev,od);
  86. }
  87. it++;
  88. }
  89. printf("Case %lld: %lld\n",z,ans);
  90. }
  91. return 0;
  92. }
Time limit exceeded #stdin #stdout 5s 0KB
stdin
10
52
43 51
27 13
67 32
50 9
13 32
74 10
7 1
17 8
46 44
70 5
24 1
76 36
32 6
78 29
23 33
74 2
57 24
80 15
30 21
27 23
47 32
69 2
54 10
68 25
70 8
3 18
22 16
29 6
60 9
76 21
74 15
18 21
14 1
62 2
15 12
54 13
20 6
8 1
68 14
62 13
28 3
80 5
52 6
51 3
36 8
1 5
30 1
8 3
37 2
31 3
53 2
6 1
39
41 25
39 18
25 21
6 8
52 26
18 25
2 24
49 15
17 22
29 25
44 20
10 22
28 14
28 2
26 23
3 6
23 2
24 9
19 10
14 13
40 3
38 3
33 14
67 3
22 12
43 3
51 12
62 9
17 5
51 9
63 3
63 5
69 7
9 5
43 5
22 2
65 1
3 2
64 1
41
39 8
37 33
38 25
7 8
30 21
49 32
4 20
13 27
34 15
32 21
15 31
29 19
42 18
18 4
3 17
33 22
48 3
25 12
57 5
44 6
41 20
20 8
3 9
39 4
2 10
35 16
51 4
12 2
44 8
46 12
19 4
13 9
26 5
35 4
48 7
4 2
23 5
47 2
53 2
45 2
20 1
53
34 13
66 47
93 37
87 37
45 20
99 46
24 6
36 7
35 1
25 33
81 18
2 3
49 16
15 14
47 9
55 12
68 31
95 19
40 22
57 16
34 29
97 26
19 26
12 8
77 8
82 7
37 5
13 14
26 15
87 9
81 16
41 19
54 3
4 20
80 8
34 1
102 12
39 2
66 2
10 11
99 11
12 9
37 10
63 4
18 2
87 1
4 7
30 2
97 2
72 1
22 3
61 1
67 1
11
1 9
20 2
9 3
4 5
14 7
22 4
22 2
3 2
17 1
15 2
4 1
33
29 22
10 4
29 30
43 27
34 6
1 6
1 12
15 17
23 24
39 5
48 11
22 21
12 9
46 2
39 4
46 17
38 2
35 8
6 2
16 13
38 1
13 5
15 2
5 7
31 6
6 3
37 5
45 4
14 1
28 3
5 1
35 2
32 1
12
3 4
12 4
14 7
5 9
7 8
6 3
14 6
8 4
5 1
8 1
10 1
12 1
58
50 37
20 11
16 33
22 14
51 53
57 8
27 4
24 48
14 34
28 30
35 37
55 7
10 27
55 35
10 20
30 7
27 13
70 7
39 30
12 3
2 1
62 30
44 9
69 28
44 7
26 29
65 10
56 26
28 3
46 18
57 15
58 16
13 17
24 1
21 17
30 4
67 21
1 21
53 14
20 9
18 12
35 15
33 8
40 9
5 14
20 2
50 8
69 10
71 2
70 9
11 8
22 2
8 2
49 5
32 3
9 3
5 2
58 1
17
24 3
9 12
3 9
24 12
29 1
22 5
30 6
16 10
10 2
6 4
12 1
23 6
16 5
18 2
27 3
2 1
28 1
29
48 24
16 3
39 27
14 7
51 16
38 19
54 10
47 12
29 8
48 6
57 15
28 1
20 8
41 12
52 4
49 12
4 10
34 3
44 7
17 8
39 4
15 7
55 4
50 6
28 3
11 4
44 1
23 1
53 1
stdout
Standard output is empty