QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#20236#2426. The Xana coup19ty02#0 39ms15384kbC++20960b2022-02-15 07:42:322022-05-03 09:21:49

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-03 09:21:49]
  • 评测
  • 测评结果:0
  • 用时:39ms
  • 内存:15384kb
  • [2022-02-15 07:42:32]
  • 提交

answer

#include<cstdio>
#include<iostream>
using namespace std;
const int N=1e5+10,inf=1e9;
int n,tot,h[N];
struct edge{
	int to,nxt;
}e[N<<1];
void add(int u,int v){
	e[++tot]=(edge){v,h[u]};
	h[u]=tot;
}
int a[N],f[N][2][2];
void dfs(int u,int fa){
	if(a[u])f[u][1][1]=f[u][0][0]=inf;
	else f[u][1][0]=f[u][0][1]=inf;
	for(int i=h[u];i;i=e[i].nxt){
		int v=e[i].to;
		if(v==fa)continue;
		dfs(v,u);
		int tmp=f[u][1][0];
		f[u][1][0]=min(f[u][1][0]+f[v][0][1],f[u][1][1]+f[v][1][1]);
		f[u][1][1]=min(f[u][1][1]+f[v][0][1],tmp+f[v][1][1]);
		
		tmp=f[u][0][0];
		f[u][0][0]=min(f[u][0][0]+f[v][0][0],f[u][0][1]+f[v][1][0]);
		f[u][0][1]=min(f[u][0][1]+f[v][0][0],tmp+f[v][1][0]);
	}
	f[u][1][0]++;f[u][1][1]++;
}
int main(){
	scanf("%d",&n);
	for(int i=1,u,v;i<n;i++){
		scanf("%d%d",&u,&v);
		add(u,v);add(v,u);
	}
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	dfs(1,0);
	printf("%d",min(f[1][0][0],f[1][1][0]));
}
/*
1
1
*/ 

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Accepted
time: 3ms
memory: 5836kb

input:

5
1 2
1 3
2 4
2 5
0 1 0 1 1

output:

4

result:

ok single line: '4'

Test #2:

score: -0
Wrong Answer
time: 4ms
memory: 5836kb

input:

5
1 2
2 3
3 4
4 5
0 1 1 1 1

output:

1000000001

result:

wrong answer 1st lines differ - expected: 'impossible', found: '1000000001'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Wrong Answer

Test #8:

score: 15
Accepted
time: 3ms
memory: 5812kb

input:

33
6 4
25 31
28 6
9 12
16 22
27 3
11 26
27 19
28 15
10 15
23 20
11 14
28 24
24 5
33 26
8 9
4 14
1 7
22 20
27 17
13 28
19 32
23 29
10 19
18 22
21 7
21 9
30 20
2 5
29 31
31 4
21 26
0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1

output:

13

result:

ok single line: '13'

Test #9:

score: 0
Accepted
time: 0ms
memory: 5812kb

input:

39
26 9
26 14
28 25
18 38
6 15
1 28
23 31
20 3
17 31
22 1
10 16
20 29
35 18
18 25
7 36
24 26
2 32
13 8
17 39
2 19
13 36
4 30
24 10
22 36
16 11
18 33
34 6
27 20
5 20
15 12
8 2
28 3
35 31
15 24
29 21
21 30
26 38
37 27
0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1

output:

19

result:

ok single line: '19'

Test #10:

score: -15
Wrong Answer
time: 3ms
memory: 5896kb

input:

40
5 16
2 4
30 27
15 39
8 3
14 16
3 23
34 2
35 27
26 40
12 30
36 21
25 26
10 7
5 3
7 15
14 17
29 33
13 40
21 1
12 19
38 22
29 9
37 32
7 17
13 33
3 28
19 40
11 26
37 34
40 6
20 6
6 18
25 38
24 21
18 34
17 21
35 24
31 36
1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1

output:

-1294967274

result:

wrong answer 1st lines differ - expected: '21', found: '-1294967274'

Subtask #4:

score: 0
Wrong Answer

Test #14:

score: 10
Accepted
time: 39ms
memory: 15384kb

input:

99481
19117 19116
39650 39651
69914 69913
6831 6830
32628 32629
47585 47586
9962 9963
43561 43562
65038 65037
89192 89191
55315 55314
67819 67820
62853 62852
37838 37839
13481 13482
79553 79552
13649 13648
42022 42023
40952 40953
53979 53980
31280 31281
52472 52473
4690 4691
659 660
34413 34412
6409...

output:

49772

result:

ok single line: '49772'

Test #15:

score: -10
Wrong Answer
time: 37ms
memory: 15276kb

input:

98273
46112 46113
46912 46913
74330 74329
44926 44925
45873 45874
67146 67145
5397 5396
2561 2560
82735 82736
94041 94040
26762 26761
24535 24534
29483 29482
36116 36115
6390 6391
84795 84796
21112 21113
78994 78993
48299 48298
174 173
15717 15716
93544 93545
32500 32499
177 176
639 638
46383 46384
...

output:

1000048881

result:

wrong answer 1st lines differ - expected: 'impossible', found: '1000048881'

Subtask #5:

score: 0
Wrong Answer

Test #17:

score: 0
Wrong Answer
time: 20ms
memory: 7408kb

input:

89310
15556 57000
19677 35349
9259 25855
43787 63864
64941 54366
20524 82369
74758 65181
26075 75148
76809 29415
64603 77798
60446 1000
86747 70876
65376 11036
2506 88761
45097 50529
45097 83913
33059 79620
54248 11298
37025 18974
7782 83068
63113 70024
69926 54332
21966 1572
79769 72650
24200 8844
...

output:

-1672747291

result:

wrong answer 1st lines differ - expected: 'impossible', found: '-1672747291'

Subtask #6:

score: 0
Skipped

Dependency #1:

0%