10425: USACO 2023 December Contest, Platinum Problem 1. Cowntact Tracing
[Creator : ]
Description
Farmer John has $N$ ($2\le N\le 10^5$) cows labeled $1\dots N$, where the connections between cows are described by a tree. Unfortunately, there is a sickness spreading throughout.
You are given $Q$ ($1\le Q\le 20$) different values for the number of nights, each an integer in the range $[0,N]$. For each number of nights, determine the minimum number of cows that could have started with the illness, or that the number of nights is inconsistent with the given information.
Initially, some cows start off infected. Every night, an infected cow spreads the sickness to their neighbors. Once a cow is infected, she stays infected. After some amount of nights, Farmer John realizes that there is an issue so he tests his cows to determine who has the sickness.
You are given $Q$ ($1\le Q\le 20$) different values for the number of nights, each an integer in the range $[0,N]$. For each number of nights, determine the minimum number of cows that could have started with the illness, or that the number of nights is inconsistent with the given information.
Input
The first line contains $N$.
The next line contains a bit string of length $N$, where the $i$th bit is 1 if the $i$th cow is infected and 0 otherwise. At least one cow is infected.
The next $N-1$ lines contain the edges of the tree.
Then $Q$, followed by the $Q$ values for the number of nights.
The next line contains a bit string of length $N$, where the $i$th bit is 1 if the $i$th cow is infected and 0 otherwise. At least one cow is infected.
The next $N-1$ lines contain the edges of the tree.
Then $Q$, followed by the $Q$ values for the number of nights.
Output
$Q$ lines, the answers for each number of nights, or $-1$ if impossible.
Sample 1 Input
5
11111
1 2
2 3
3 4
4 5
6
5
4
3
2
1
0
Sample 1 Output
1
1
1
1
2
5
For the first four queries, one possibility is that just cow 3 started with the illness. For the fifth query (1 night), one possibility is that cows 2 and 4 started with the illness. For the sixth query (0 nights), one possibility is that all five cows started with the illness.
Sample 2 Input
10
1111111111
1 2
2 3
2 4
2 5
2 6
6 7
7 8
8 9
9 10
11
0
1
2
3
4
5
6
7
8
9
10
Sample 2 Output
10
3
2
1
1
1
1
1
1
1
1
For the first query (0 nights), one possibility is that all ten cows started with the illness. For the second query (1 night), one possibility is that cows 2, 7, and 9 started with the illness. For the third query (2 nights), one possibility is that cows 2 and 9 started with the illness. For the fourth to eleventh queries, one possibility is that just cow 7 started with the illness.
Sample 3 Input
5
11100
1 2
2 3
3 4
4 5
6
0
1
2
3
4
5
Sample 3 Output
3
1
1
-1
-1
-1
For the first query (0 nights), one possibility is that cows 1, 2, and 3 started with the illness. For the second query (1 night), one possibility is that just cow 2 started with the illness. For the third query (2 nights), one possibility is that just cow 1 started with the illness. For the fourth through sixth queries, there is no consistent possibility.