前言
今天zty带来的是P13387 [GCJ 2010 Qualification] Snapper Chain,大家给个赞呗, zty放假了,现在恢复更新了
先 赞 后 看 养 成 习 惯
先 赞 后 看 养 成 习 惯
演示用编译器及其标准
Dev C++ 6.7.5 Red panda C++14
正文
P13387 [GCJ 2010 Qualification] Snapper Chain
题目描述
Snapper 是一种巧妙的小装置,一端将其输入插头插入输出插座,另一端则暴露一个输出插座,可以插入灯泡或其他设备。
当 Snapper 处于 ON 状态且其输入插头正在接收电源时,连接到其输出插座的设备也会获得电源。当你打响指——发出咔哒声时,任何正在接收电源的 Snapper 都会在 ON 和 OFF 状态之间切换。
为了通过奇点摧毁宇宙,我购买了 NNN 个 Snapper,并将它们串联起来,第一个插入电源插座,第二个插入第一个,依此类推。灯泡插在第 NNN 个 Snapper 上。
最初,所有 Snapper 都处于 OFF 状态,因此只有第一个 Snapper 从插座接收电源,灯泡是熄灭的。我打响指一次,第一个 Snapper 切换到 ON 状态,并为第二个 Snapper 供电。我再次打响指,两个 Snapper 都切换状态,随后第二个 Snapper 断电,保持在 ON 状态但没有电源。我第三次打响指,第一个 Snapper 再次切换状态,并为第二个 Snapper 供电。现在两个 Snapper 都处于 ON 状态,如果我的灯泡插在第二个 Snapper 上,它就会亮。
我这样持续打响指数小时。打响指 KKK 次后,灯泡是亮着还是灭着?只有当灯泡从其插入的 Snapper 获得电源时才会亮。
输入格式
输入的第一行包含测试用例数 TTT。接下来的 TTT 行,每行包含两个整数 NNN 和 KKK。
输出格式
对于每个测试用例,输出一行,格式为 “Case #x: y”,其中 xxx 是测试用例编号(从 1 开始),yyy 为 “ON” 或 “OFF”,表示灯泡的状态。
输入输出样例 #1
输入 #1
4
1 0
1 1
4 0
4 47
输出 #1
Case #1: OFF
Case #2: ON
Case #3: OFF
Case #4: ON
说明/提示
数据范围
- 1⩽T⩽10 0001 \leqslant T \leqslant 10\,0001⩽T⩽10000。
小数据集(10 分,测试集 1 - 可见)
- 1⩽N⩽101 \leqslant N \leqslant 101⩽N⩽10;
- 0⩽K⩽1000 \leqslant K \leqslant 1000⩽K⩽100;
大数据集(23 分,测试集 2 - 隐藏)
- 1⩽N⩽301 \leqslant N \leqslant 301⩽N⩽30;
- 0⩽K⩽1080 \leqslant K \leqslant 10^{8}0⩽K⩽108。
由 ChatGPT 4.1 翻译
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
for (int i=1;i<=t;i++) {
long long n, k, ans;
cin >> n >> k;
ans = (1 << n) - 1;
if ((k & ans) == ans) {
cout<<"Case #"<<i<<": ON\n";
}else{
cout<<"Case #"<<i<<": OFF\n";
}
}
return 0;
}
后记
作者:zty郑桐羽呀
联系方式:(企鹅 3782663736)
兄弟们给个赞呗
先 赞 后 看 养 成 习 惯