#P10565. [ICPC 2024 Xi'an I] Chained Lights
[ICPC 2024 Xi'an I] Chained Lights
Description
你有 盏灯排成一行。最初,它们都是关闭的。 你将逐个按下这 盏灯。当你按下灯 时,灯 将切换其状态,这意味着如果它是关闭的,它将打开;如果它是打开的,它将关闭。然后对于每个满足 的 ,按下灯 一次。 例如,如果 ,当你按下灯 时,灯 将打开,然后你将按下灯 。由于你按下了灯 ,灯 将打开,你将按下灯 ,这将导致灯 打开。经过所有操作后,灯 将打开,而灯 仍然关闭。 你将逐个按下这 盏灯并进行上述操作。经过所有操作后,你想知道灯 是开着还是关着的。 你也可以使用以下代码来理解问题的含义:
void press(int x) {
light[x]^=1;
for (int y=x+x; y<=n; y+=x) press(y);
}
for (int i=1; i<=n; i++) press(i);
Input Format
有多个测试用例。 第一行包含一个整数 ,表示测试用例的数量。 每个测试用例包含两个整数 ,在一行中。
Output Format
对于每个测试用例,如果灯 最终是打开的,输出 YES,否则输出 NO。
2
1 1
3 2
YES
NO
Hint
(由 ChatGPT 4o 翻译)
京公网安备 11011102002149号