Submission details
Task:Bus lines
Sender:Team Purkka
Submission time:2015-09-30 17:00:08 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1--details
#2--details
#3--details
#4--details
#5--details
#6--details
#7--details
#8--details
#9--details
#10--details
#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

Code

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

using namespace std;

typedef pair<int,int> pint;
typedef vector<int> vint;

struct yht{
	int a,b;
	yht(){}
	yht(int na,int nb):a(na),b(nb){}
};

int main()
{
	cin.sync_with_stdio(false);	
	
	int n,m,k;
	cin>>n>>m>>k;
	vint l[n];
	vector<yht> y;
	for(int i=0;i<m;i++){
		int a,b;
		cin>>a>>b;
		a--;b--;
		l[a].push_back(b);
		l[b].push_back(a);
		y.push_back(yht(a,b));
	}
	int v[n];
	list<pint> q;
	int s;
	for(int _=0;_<k;_++){
		int w;
		cin>>w;
		const yht g=y[w-1];
		for(vint::iterator j=l[g.a].begin();j!=l[g.a].end();j++)
			if(*j==g.b){*j=-1;break;}
		for(vint::iterator j=l[g.b].begin();j!=l[g.b].end();j++)
			if(*j==g.a){*j=-1;break;}
		s=0;
		for(int i=0;i<n;i++){q.push_back(make_pair(i,-1));v[i]=0;}
		int n=0;
		while(!q.empty()){
			const pint o=q.front();
			q.pop_front();
			if(v[o.first])continue;
			int r=o.second==-1?++n:o.second;
			v[o.first]=r;
			s=max(r,s);
			for(vint::iterator j=l[o.first].begin();j!=l[o.first].end();j++){
				if(*j!=-1)q.push_front(make_pair(*j,r));
			}
		}
		cout<<s<<' ';
	}
	cout<<endl;
	return 0;
}

Test details

Test 1

Verdict:

input
42712 59669 3327
27393 5935
40762 40800
33005 34639
19131 2850
...

correct output
2937 2937 2937 2937 2937 2938 ...

user output
(empty)

Test 2

Verdict:

input
76287 96164 41787
58072 25022
46787 62110
30339 48282
73612 52159
...

correct output
6969 6969 6969 6969 6970 6970 ...

user output
(empty)

Test 3

Verdict:

input
18336 40887 13506
13131 7525
2330 5108
1053 8852
2934 4194
...

correct output
208 208 208 208 208 208 208 20...

user output
(empty)

Test 4

Verdict:

input
10251 91042 26842
3863 3691
4990 6580
3722 1896
1240 6558
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 5

Verdict:

input
75339 65466 44858
37059 62665
14790 65885
12864 58973
70022 19675
...

correct output
16333 16334 16335 16336 16336 ...

user output
(empty)

Test 6

Verdict:

input
2086 66519 52411
361 1822
723 1145
1914 914
2075 1759
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 7

Verdict:

input
38126 95132 68427
15424 17170
2781 12706
33834 13802
13405 25848
...

correct output
246 246 246 246 246 246 246 24...

user output
(empty)

Test 8

Verdict:

input
13057 86973 49052
5610 4743
1062 7853
6391 10993
5814 10957
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 9

Verdict:

input
88876 29498 13976
16610 72903
2735 47496
44512 709
3413 60896
...

correct output
59380 59381 59382 59383 59384 ...

user output
(empty)

Test 10

Verdict:

input
54386 40792 30938
11372 35684
36569 35851
24804 11443
2433 7140
...

correct output
15500 15501 15502 15502 15503 ...

user output
(empty)

Test 11

Verdict:

input
18637 33277 33188
6803 17956
14954 12901
7331 13934
15280 6584
...

correct output
560 560 560 561 561 561 561 56...

user output
(empty)

Test 12

Verdict:

input
2637 72943 18160
897 1538
720 703
1919 2314
1803 1644
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 13

Verdict:

input
100000 100000 100000
87033 99257
40607 9856
32664 94458
61822 19892
...

correct output
16212 16212 16212 16213 16213 ...

user output
(empty)

Test 14

Verdict:

input
100000 100000 100000
4621 68476
54853 81760
28147 87423
33351 48197
...

correct output
16294 16295 16295 16295 16296 ...

user output
(empty)

Test 15

Verdict:

input
100000 100000 100000
51596 84775
65582 47330
87748 35647
53679 16442
...

correct output
16120 16121 16122 16122 16123 ...

user output
(empty)

Test 16

Verdict:

input
100000 100000 100000
69292 26196
54314 63616
95 16072
19077 67875
...

correct output
16149 16149 16149 16149 16150 ...

user output
(empty)

Test 17

Verdict:

input
100000 100000 100000
97541 89807
88261 42118
68387 12007
50630 50
...

correct output
16105 16105 16105 16105 16106 ...

user output
(empty)

Test 18

Verdict:

input
100000 100000 100000
91853 52153
10866 98151
37463 6198
60814 65027
...

correct output
16154 16155 16155 16155 16156 ...

user output
(empty)

Test 19

Verdict:

input
100000 100000 100000
40682 32628
80240 43316
2162 93003
59820 88267
...

correct output
16398 16398 16398 16398 16398 ...

user output
(empty)

Test 20

Verdict:

input
100000 100000 100000
55437 43499
70984 56856
86259 35090
95150 56215
...

correct output
16044 16045 16045 16045 16046 ...

user output
(empty)

Test 21

Verdict:

input
100000 100000 100000
4134 98627
66480 41168
90133 75501
94062 11019
...

correct output
16251 16252 16252 16252 16253 ...

user output
(empty)

Test 22

Verdict:

input
100000 100000 100000
6352 451
19430 47543
18870 69498
10423 18161
...

correct output
16118 16118 16118 16119 16119 ...

user output
(empty)

Test 23

Verdict:

input
100000 100000 100000
47553 72232
19034 64055
24491 39922
98399 16192
...

correct output
16199 16200 16201 16202 16202 ...

user output
(empty)

Test 24

Verdict:

input
100000 100000 100000
69140 89073
95544 9460
45106 70799
50772 94371
...

correct output
16196 16196 16197 16198 16198 ...

user output
(empty)

Test 25

Verdict:

input
100000 100000 100000
22639 28340
10882 29245
74076 54240
87341 51204
...

correct output
16129 16129 16129 16129 16129 ...

user output
(empty)