fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define BeatMeScanf ios_base::sync_with_stdio(false)
  4. vector<int>adj[2505];
  5. int visited[2505];
  6. int siz,days;
  7. void BFS(int src)
  8. {
  9. int boom1, day = 0;
  10. visited[src] = 0;
  11. queue<int> qx, qy;
  12. qx.push(src);
  13.  
  14. while(!qx.empty() || !qy.empty())
  15. {
  16. int u = qx.front(), v;
  17. qx.pop();
  18. boom1=0;
  19. for(int i=0; i<adj[u].size(); i++){
  20. v = adj[u][i];
  21. if(visited[v] == -1){
  22. visited[v] = 1;
  23. boom1++;
  24. qx.push(v);
  25. qy.push(v);
  26. }
  27. }
  28. day++;
  29. if(boom1>siz){
  30. siz = boom1;
  31. days = day;
  32. }
  33. while(!qy.empty())
  34. {
  35. int v2, u2 = qy.front(); qy.pop();
  36. for(int j = 0; j<adj[u2].size(); j++){
  37. v2 = adj[u2][j];
  38. if(visited[v2] == -1){
  39. visited[v2] = 1;
  40. boom1++;
  41. }
  42. }
  43.  
  44. }
  45. day++;
  46. if(boom1>siz){
  47. siz = boom1;
  48. days = day;
  49. }
  50. }
  51. }
  52.  
  53. int main()
  54. {
  55. BeatMeScanf;
  56. int n;
  57. cin >> n;
  58. for(int i = 0; i<n; i++)
  59. {
  60. int num, a;
  61. cin >> num;
  62. while(num--){
  63. cin >> a;
  64. adj[i].push_back(a);
  65. }
  66. }
  67. int T;
  68. cin >> T;
  69. while(T--)
  70. {
  71. memset(visited, -1, sizeof visited);
  72. int num;
  73. cin >> num;
  74. BFS(num);
  75. if(siz != 0 && days != 0) cout << siz << " " << days << endl;
  76. else cout << 0 << endl;
  77. }
  78. return 0;
  79. }
  80. /*
  81. 8
  82. 1 1
  83. 2 2 3
  84. 2 1 3
  85. 1 4
  86. 3 4 6 7
  87. 2 4 6
  88. 0
  89. 0
  90. 8
  91. 0
  92. 1
  93. 2
  94. 3
  95. 4
  96. 5
  97. 6
  98. 7
  99. */
  100.  
Success #stdin #stdout 0s 15312KB
stdin
100
7 8 25 15 50 77 43 87
4 59 32 98 2
0
14 64 80 76 44 19 9 0 57 50 83 62 92 96 17
3 57 53 94
11 16 46 64 32 56 20 4 63 31 5 80
9 46 0 33 56 61 59 83 64 29
2 76 97
4 59 85 52 9
1 78
14 83 68 75 79 40 60 39 11 32 31 8 67 16 73
1 8
8 65 41 38 23 75 33 4 73
11 60 75 85 99 86 72 45 98 3 77 29
3 86 3 31
11 40 0 65 38 89 74 83 12 10 54 43
3 66 75 57
2 54 53
10 58 55 37 45 7 67 13 90 56 16
5 30 14 1 46 31
6 89 82 50 53 31 29
14 54 15 3 12 46 86 33 53 26 18 22 44 72 4
6 78 34 54 49 65 29
10 31 54 50 65 79 97 22 0 62 59
11 6 13 0 33 40 43 70 10 75 99 88
9 81 51 18 83 59 35 32 39 27
14 42 46 41 94 72 50 48 44 49 78 9 58 8 38
9 70 12 2 31 11 73 19 0 94
5 9 6 74 31 65
3 99 11 42
1 50
2 38 50
1 89
5 13 91 42 14 24
3 63 34 93
1 76
5 56 39 81 90 57
14 11 21 23 16 5 18 2 39 33 24 37 91 87 17
11 65 19 46 4 89 34 95 5 43 73 68
13 15 64 90 50 79 43 87 31 73 67 0 22 94
1 76
13 9 98 45 87 76 47 85 93 56 3 19 84 36
4 92 8 6 62
11 43 30 85 3 6 52 2 63 73 7 76
14 43 97 4 31 39 96 56 19 25 24 89 36 18 79
10 17 16 68 26 64 61 81 42 40 51
3 86 53 97
5 43 40 0 44 67
14 20 48 32 55 51 71 18 11 3 60 80 52 92 67
12 76 73 94 48 36 22 20 19 50 4 70 17
10 63 73 99 0 61 40 72 75 95 31
4 1 30 23 26
5 36 32 93 89 53
13 48 85 18 43 26 13 86 93 95 45 53 70 98
0
5 59 49 78 40 79
6 76 86 8 32 99 49
8 62 61 80 77 58 34 95 0
10 75 57 67 30 90 95 61 51 42 58
13 74 76 18 99 10 62 24 37 72 7 57 3 14
7 55 3 49 43 29 56 4
1 9
14 66 64 82 87 75 29 47 74 78 79 17 8 50 44
1 16
11 88 22 9 79 54 43 29 45 74 44 33
0
8 94 12 29 61 76 9 93 39
9 0 56 32 7 67 73 66 33 72
3 31 9 45
13 13 10 3 9 64 11 7 32 67 1 5 94 69
14 28 10 6 44 96 21 3 67 1 27 93 24 29 84
9 48 19 1 56 42 60 44 63 96
13 6 88 70 87 61 41 32 67 24 17 59 52 46
7 99 17 85 61 21 57 82
3 36 61 27
7 0 78 72 86 9 53 31
1 11
10 45 40 54 8 61 2 1 32 34 76
11 22 15 13 14 18 49 30 65 96 44 12
4 29 20 36 47
3 51 46 38
14 31 58 47 11 77 2 78 35 69 96 60 83 20 29
14 96 13 16 27 42 97 57 82 41 84 72 28 68 75
9 26 33 48 72 20 91 46 70 77
0
1 35
2 13 69
3 68 89 60
11 12 98 2 46 56 30 83 28 85 14 63
6 16 21 32 88 81 93
3 85 18 97
7 86 65 37 20 81 5 56
12 2 38 80 29 18 9 81 0 64 6 88 46
8 47 88 36 11 21 13 10 67
4 2 4 24 10
13 59 80 76 18 3 99 55 5 68 36 25 73 15
8 24 72 17 36 39 15 82 48
2 16 52
9 99 80 11 8 4 2 30 43 61
10 78 17 74 34 37 24 49 95 36 77
59
3
4
5
6
11
12
14
15
17
19
20
21
25
30
31
35
36
37
38
39
42
43
44
46
47
48
50
51
52
53
54
55
57
58
59
60
61
62
63
65
66
68
71
72
73
74
79
81
83
84
86
87
88
92
93
94
95
98
99
stdout
67 2
67 2
67 2
67 2
67 2
67 2
67 2
67 2
67 2
67 2
67 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2
78 2