Submission details
Task:Hacker
Sender:Team Purkka
Submission time:2015-09-16 18:15:29 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.06 sdetails
#11--details
#12--details
#13--details
#14--details
#15--details
#16--details
#17--details
#18--details
#19--details
#20--details
#21--details
#22--details
#23--details
#24--details
#25--details
#26--details
#27--details
#28--details
#29--details
#30--details
#31--details
#32--details
#33--details
#34--details
#35--details
#36--details

Compiler report

input/code.cpp: In function 'void try_find(std::vector<int>*, bool*, int, int, int, int&)':
input/code.cpp:25:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<c[p.first].size();i++){
                      ^

Code

#include <iostream>
#include <set>
#include <queue>
#include <vector>
#include <algorithm>

using namespace std;

void try_find(vector<int> *c, bool *possible, int n, int a, int d, int &cnt)
{
    bool visited[n];
    int visc=0;
    queue<pair<int,int>> nx;
    for(int i=0;i<n;i++)visited[i]=0;
    nx.push(make_pair(a,0));
    while(visc<n){
        pair<int,int> p=nx.front();
        nx.pop();
        if(visited[p.first])continue;
        visited[p.first]=1;
        visc++;
        if(possible[p.first]&&p.second!=d){
            possible[p.first]=0;cnt--;
        }
        for(int i=0;i<c[p.first].size();i++){
            nx.push(make_pair(c[p.first][i],p.second+1));
        }
    }
}
int main()
{
	cin.sync_with_stdio(false);
	
	int n,m,a,b;
	cin>>n>>m;
	
    bool possible[n];
    for (int i=0;i<n;i++)possible[i]=1;
    int cnt=n;
    
    vector<int> c[n];
    for (int i=0;i<n-1;i++){
        cin>>a>>b;
        c[a-1].push_back(b-1);
        c[b-1].push_back(a-1);
    }
    
    for (int i=0;i<m;i++){
        cin>>a>>b;
        try_find(c,possible,n,a-1,b,cnt);
    }
    cout<<cnt;
    for(int i=0;i<n;i++){
        if(possible[i]){
            cout<<" "<<(i+1);
            break;
        }
    }
    cout<<endl;

	return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
5 3
2 1
1 4
2 3
4 5
...

correct output
1

user output
1 3

Test 2

Verdict: ACCEPTED

input
2 1
2 1
1 1

correct output
1

user output
1 2

Test 3

Verdict: ACCEPTED

input
4 2
1 3
3 4
2 1
3 1
...

correct output
1

user output
1 4

Test 4

Verdict: ACCEPTED

input
8 4
3 8
3 7
3 2
5 8
...

correct output
1

user output
1 4

Test 5

Verdict: ACCEPTED

input
8 2
1 5
2 1
5 4
7 5
...

correct output
1

user output
1 1

Test 6

Verdict: ACCEPTED

input
88 58
16 63
16 55
45 16
16 76
...

correct output
1
16 

user output
1 16

Test 7

Verdict: ACCEPTED

input
90 34
3 30
33 3
3 1
3 16
...

correct output
1
73 

user output
1 73

Test 8

Verdict: ACCEPTED

input
68 64
65 37
26 37
37 2
37 16
...

correct output
1
14 

user output
1 14

Test 9

Verdict: ACCEPTED

input
98 90
82 89
89 72
89 24
89 66
...

correct output
1
38 

user output
1 38

Test 10

Verdict: ACCEPTED

input
45 43
16 24
11 24
24 14
39 16
...

correct output
1
11 

user output
1 11

Test 11

Verdict:

input
200000 10000
108969 124359
95689 6026
116305 139666
24031 23504
...

correct output
2269
100022 100029 100048 100187 10...

user output
(empty)

Test 12

Verdict:

input
200000 30000
149634 101097
7189 8578
110942 104503
110094 199531
...

correct output
12594
100006 100022 100025 100028 10...

user output
(empty)

Test 13

Verdict:

input
200000 10001
9664 10422
101570 162282
21567 87519
75017 10098
...

correct output
4469
100033 100068 100071 100074 10...

user output
(empty)

Test 14

Verdict:

input
200000 30001
192593 161643
133646 146752
70341 87021
85165 3436
...

correct output
646
100376 100431 100629 100865 10...

user output
(empty)

Test 15

Verdict:

input
200000 10003
182120 107802
111504 176786
116392 192800
39491 8466
...

correct output
1
187998 

user output
(empty)

Test 16

Verdict:

input
200000 30003
100234 176124
72445 20075
27078 77532
6054 17091
...

correct output
1013
100101 100226 100318 100331 10...

user output
(empty)

Test 17

Verdict:

input
200000 11000
144259 147062
129144 34375
27688 122452
149687 178943
...

correct output
9
68155 74343 92593 98229 103701...

user output
(empty)

Test 18

Verdict:

input
200000 20000
90535 65281
89691 120083
89310 122019
48389 89987
...

correct output
13
31911 56441 62585 103301 11475...

user output
(empty)

Test 19

Verdict:

input
200000 10010
126094 109522
32134 117141
77008 145100
95190 29985
...

correct output
841
150165 150222 150264 150414 15...

user output
(empty)

Test 20

Verdict:

input
200000 5000
125110 185897
185897 15293
185897 65525
32273 15293
...

correct output
1
120494 

user output
(empty)

Test 21

Verdict:

input
200000 10000
29178 72745
65717 29178
86262 72745
28578 72745
...

correct output
2
70740 146957 

user output
(empty)

Test 22

Verdict:

input
200000 100000
68474 3445
68474 188768
75980 188768
53957 75980
...

correct output
1
130925 

user output
(empty)

Test 23

Verdict:

input
200000 5000
199775 110116
20398 110116
131291 110116
20398 105072
...

correct output
1
142994 

user output
(empty)

Test 24

Verdict:

input
200000 10000
14706 98422
143108 14706
183282 14706
177517 14706
...

correct output
1
24321 

user output
(empty)

Test 25

Verdict:

input
200000 100000
98965 122949
80666 98965
98965 122727
80666 94692
...

correct output
1
89572 

user output
(empty)

Test 26

Verdict:

input
200000 5000
175908 116198
108345 116198
116198 46371
108738 175908
...

correct output
1
104870 

user output
(empty)

Test 27

Verdict:

input
200000 10000
72296 103083
173676 72296
72296 191544
38971 72296
...

correct output
1
1181 

user output
(empty)

Test 28

Verdict:

input
200000 100000
180193 90285
90285 3229
90285 191578
49699 90285
...

correct output
1
94989 

user output
(empty)

Test 29

Verdict:

input
200000 5000
149895 27443
149895 63596
162631 149895
77710 149895
...

correct output
3
9962 69107 158765 

user output
(empty)

Test 30

Verdict:

input
200000 10000
48685 181649
181649 86877
161760 181649
27659 181649
...

correct output
6
33818 96668 107877 151891 1746...

user output
(empty)

Test 31

Verdict:

input
200000 100000
11743 113918
11743 150916
11743 48160
183097 11743
...

correct output
2
3617 191200 

user output
(empty)

Test 32

Verdict:

input
200000 10000
99835 74128
188699 111418
188699 179102
88827 164875
...

correct output
93707
2 5 7 8 14 15 16 19 22 25 28 3...

user output
(empty)

Test 33

Verdict:

input
200000 10000
185678 126111
144054 64404
93775 80874
96138 119649
...

correct output
2789
41 44 92 148 187 303 372 435 5...

user output
(empty)

Test 34

Verdict:

input
200000 10000
96298 24580
141435 60260
62879 70753
62879 53651
...

correct output
93808
3 4 8 9 10 11 12 13 15 17 19 2...

user output
(empty)

Test 35

Verdict:

input
200000 10000
66867 107798
69585 26217
142260 2470
170968 66615
...

correct output
4
34912 58399 72540 82303 

user output
(empty)

Test 36

Verdict:

input
200000 10000
126978 125907
22968 95429
13651 161708
137033 59120
...

correct output
93766
3 7 8 10 13 14 16 18 19 24 25 ...

user output
(empty)