2002: [USACO 2023 US Open Contest Gold] Problem 1. Custodial Cleanup
题目描述
Due to the disorganized structure of his mootels (much like motels but with bovine rather than human guests), Farmer John has decided to take up the role of the mootel custodian to restore order to the stalls.
Each mootel has stalls labeled through () and () corridors that connect pairs of stalls to each other bidirectionally. The th stall is painted with color and initially has a single key of color in it. FJ will have to rearrange the keys to appease the cows and restore order to the stalls.
FJ starts out in stall without holding any keys and is allowed to repeatedly do one of the following moves:
- Pick up a key in the stall he is currently in. FJ can hold multiple keys at a time.
- Place down a key he is holding into the stall he is currently in. A stall may hold multiple keys at a time.
- Enter stall by moving through a corridor.
- Enter a stall other than stall by moving through a corridor. He can only do this if he currently holds a key that is the same color as the stall he is entering.
Unfortunately, it seems that the keys are not in their intended locations. To restore order to FJ's mootel, the th stall requires that a single key of color is in it. It is guaranteed that is a permutation of .
For different mootels (), FJ starts in stall and needs to place every key in its appropriate location, ending back in stall . For each of the mootels, please answer if it is possible to do this.
输入
Each test case will be preceded by a blank line. Then, the first line of each test case contains two integers and .
The second line of each test case contains integers. The -th integer on this line, , means that stall has color ().
The third line of each test case contains integers. The -th integer on this line, , means that stall initially holds a key of color ().
The fourth line of each test case contains integers. The -th integer on this line, , means that stall needs to have a key of color in it ().
The next lines of each test case follow. The -th of these lines contains two distinct integers, and (). This represents that a corridor exists between stalls and . No corridors are repeated.
The sum of over all mootels will not exceed , and the sum of over all mootels will not exceed .
输出
样例输入
2
5 5
4 3 2 4 3
3 4 3 4 2
2 3 4 4 3
1 2
2 3
3 1
4 1
4 5
4 3
3 2 4 1
2 3 4 4
4 2 3 4
4 2
4 1
4 3
样例输出
YES
NO
提示
For the first test case, here is a possible sequence of moves:
Current stall: 1. Keys held: []. Keys in stalls: [3, 4, 3, 4, 2]
(pick up key of color 3)
Current stall: 1. Keys held: [3]. Keys in stalls: [x, 4, 3, 4, 2]
(move from stall 1 to 2, allowed since we have a key of color C_2=3)
Current stall: 2. Keys held: [3]. Keys in stalls: [x, 4, 3, 4, 2]
(pick up key of color 4)
Current stall: 2. Keys held: [3, 4]. Keys in stalls: [x, x, 3, 4, 2]
(move from stall 2 to 1 to 4 to 5, allowed since we have keys of colors C_4=4 and C_5=3)
Current stall: 5. Keys held: [3, 4]. Keys in stalls: [x, x, 3, 4, 2]
(pick up key of color 2 and place key of color 3)=
Current stall: 5. Keys held: [2, 4]. Keys in stalls: [x, x, 3, 4, 3]
(move from stall 5 to 4 to 1 to 3, allowed since we have keys of colors C_4=4 and C_3=2)
Current stall: 3. Keys held: [2, 4]. Keys in stalls: [x, x, 3, 4, 3]
(pick up key of color 3 and place key of color 4)
Current stall: 3. Keys held: [2, 3]. Keys in stalls: [x, x, 4, 4, 3]
(move from stall 3 to stall 2 and place key of color 3)
Current stall: 2. Keys held: [2]. Keys in stalls: [x, 3, 4, 4, 3]
(move from stall 2 to stall 1 and place key of color 2)
Current stall: 1. Keys held: []. Keys in stalls: [2, 3, 4, 4, 3]
For the second test case, there exists no way for FJ to return a key of color to each stall and end back at stall .
SAMPLE INPUT:
5
2 0
1 2
2 2
2 2
2 1
1 1
2 1
2 1
1 2
2 1
1 1
2 1
1 2
1 2
2 1
1 1
1 2
2 1
1 2
5 4
1 2 3 4 4
2 3 5 4 2
5 3 2 4 2
1 2
1 3
1 4
4 5
SAMPLE OUTPUT:
YES
YES
NO
YES
NO
SCORING:
- Test cases 3-6 satisfy .
- Test cases 7-10 satisfy .
- Test cases 11-18 satisfy no additional constraints.