File tree Expand file tree Collapse file tree 1 file changed +46
-25
lines changed Expand file tree Collapse file tree 1 file changed +46
-25
lines changed Original file line number Diff line number Diff line change 1
- #include < iostream>
2
- #include < algorithm>
1
+ #include < cstdio>
2
+ #include < queue>
3
+ #include < vector>
3
4
using namespace std ;
4
- int main () {
5
- int n;
6
- scanf (" %d\n " , &n);
7
- string ans;
8
- for (int i = 0 ; i < n; i++) {
9
- string s;
10
- getline (cin, s);
11
- int lens = s.length ();
12
- reverse (s.begin (), s.end ());
13
- if (i == 0 ) {
14
- ans = s;
15
- continue ;
16
- } else {
17
- int lenans = ans.length ();
18
- int minlen = min (lens, lenans);
19
- for (int j = 0 ; j < minlen; j++) {
20
- if (ans[j] != s[j]) {
21
- ans = ans.substr (0 , j);
22
- break ;
23
- }
5
+ int n, l, m, k;
6
+ struct node {
7
+ int id, layer;
8
+ };
9
+ vector<vector<int >> v;
10
+ int bfs (node tnode) {
11
+ bool inq[1010 ] = {false };
12
+ queue<node> q;
13
+ q.push (tnode);
14
+ inq[tnode.id ] = true ;
15
+ int cnt = 0 ;
16
+ while (!q.empty ()) {
17
+ node top = q.front ();
18
+ q.pop ();
19
+ int topid = top.id ;
20
+ for (int i = 0 ; i < v[topid].size (); i++) {
21
+ int nextid = v[topid][i];
22
+ if (inq[nextid] == false && top.layer < l) {
23
+ node next = {nextid, top.layer + 1 };
24
+ q.push (next);
25
+ inq[next.id ] = true ;
26
+ cnt++;
24
27
}
25
28
}
26
29
}
27
- reverse (ans.begin (), ans.end ());
28
- if (ans.length () == 0 ) ans = " nai" ;
29
- cout << ans;
30
+ return cnt;
31
+ }
32
+
33
+ int main () {
34
+ scanf (" %d %d" , &n, &l);
35
+ v.resize (n + 1 );
36
+ for (int i = 1 ; i <= n; i++) {
37
+ scanf (" %d" , &m);
38
+ for (int j = 0 ; j < m; j++) {
39
+ int temp;
40
+ scanf (" %d" , &temp);
41
+ v[temp].push_back (i);
42
+ }
43
+ }
44
+ scanf (" %d" , &k);
45
+ int tid;
46
+ for (int i = 0 ; i < k; i++) {
47
+ scanf (" %d" , &tid);
48
+ node tnode = {tid, 0 };
49
+ printf (" %d\n " , bfs (tnode));
50
+ }
30
51
return 0 ;
31
52
}
You can’t perform that action at this time.
0 commit comments