专栏文章
题解:P14054 [SDCPC 2019] Sekiro
P14054题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minv8rl2
- 此快照首次捕获于
- 2025/12/02 08:54 3 个月前
- 此快照最后确认于
- 2025/12/02 08:54 3 个月前
题意
现在有两个数 和 ,现在你要执行 次操作,每一次将 变成 ,问你最后的 是多大
题解
首先 非常大,直接模拟肯定不行,但我们发现,当 时也最多只会除 次后就在 徘徊。所以当 时,直接输出
1 即可。否则直接模拟,发现时间复杂度一定是正确的。正确代码
CPP#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n,k;
cin>>n>>k;
if(n==0)
{
puts("0");
continue;
}
if(k>=30) puts("1");
else
{
while(k!=0)
{
n = n/2+n%2;
k--;
}
printf("%d\n",n);
}
}
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...