#P15683. [ICPC 2023 Jakarta R] Button Pressing
[ICPC 2023 Jakarta R] Button Pressing
说明
给定 个按钮(编号从 到 )和 个灯(编号从 到 )。每个灯可以处于开或关的状态。初始时,如果 ,则第 个灯是开的;如果 ,则第 个灯是关的。
按钮 连接到灯 (如果 )和灯 (如果 )。每次操作,你可以按下按钮 ,但前提是灯 是开的。当按下按钮时,与该按钮相连的灯的状态会被切换。具体来说,如果某个灯原来是开着的,则会变成关的;如果原来是关的,则会变成开的。注意,灯 并不连接到按钮 ,因此按下按钮 时,灯 的状态不会发生变化。
经过若干次操作后,你希望第 个灯是开的当且仅当 ,是关的当且仅当 。请判断是否有可能实现这个目标。
输入格式
本题包含多组测试数据。第一行为整数 (),表示测试数据组数。每组测试数据包含三行。
每组测试数据的第一行为一个整数 ()。所有测试数据中 的总和不超过 。
第二行为一个长度为 的字符串 ,每个字符为 或 ,表示每个灯的初始状态。
第三行为一个长度为 的字符串 ,每个字符为 或 ,表示每个灯的目标状态。
输出格式
对于每组测试数据,如果可以通过若干次操作使所有灯达到目标状态,则输出一行 YES;否则输出一行 NO。
2
4
0101
0100
3
000
010
YES
NO
5
7
0101011
1111010
5
11111
00000
4
1101
1101
6
101010
100100
3
000
000
NO
NO
YES
YES
YES
提示
样例输入输出 #1 说明
对于第一个测试用例,依次按下按钮 ,按钮的状态变化如下:$0101 \rightarrow 0111 \rightarrow 1101 \rightarrow 1111 \rightarrow 1010 \rightarrow 1110 \rightarrow 0100$。
对于第二个测试用例,你无法按下任何按钮,因此无法达到目标状态。
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号