ACM_送气球(规律题)
2024-08-30 20:44:39
送气球
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
为了奖励近段时间辛苦刷题的ACMer,会长决定给正在机房刷题的他们送气球。N位ACMer的围成了一个圈,会长分别间隔1,2,3,4.......个ACMer送一个气球,请问是不是所有的ACMer都有气球呢?
Input:
输入一个数字N(2≤N<1000000000),代表ACMer的人数。
Output:
如果所有人都有,输出‘YES’,否则输出‘NO’。
Sample Input:
2
3
5
10
Sample Output:
YES
NO
NO
NO Hint:
N = 5,首先会长给一号和二号ACMer一个糖果,之后给四号一个糖果,按照循环,再给二号一个糖果,再给一号一个糖果,再给一号一个糖果......
解题思路:咋看这道题给的数据n最大是10的9次方,再结合题意,纯找规律题啊。但是菜鸡比赛时测试代码下标写错了,结果半天跑不出结果,比赛完后修改了一下并A了这水题。
给出的提示意思是,先给1号一个糖果,间隔1到2号再给2号糖果,间隔2到4号给其糖果,就这样子循环给。
测试代码找规律:
#include<bits/stdc++.h>
using namespace std;
int main()
{
for(int N=;N<;++N){
int j=,t=;
bool a[N],flag=false;
memset(a,false,sizeof(a));
a[]=a[]=true;//下标从0开始
while(t<){
j=(j+t)%N;//j:0~N-1
if(!a[j])a[j]=true;
t++;
}
for(int i=;i<N;++i){
if(!a[i]){flag=true;break;}
}
if(!flag)cout<<N<<endl;
//else cout<<N<<":0"<<endl;
}
return ;
}
由于间隔t给的是10的6次方,所以找N个ACMer是否都分到糖果只枚举到1000个,这样不用等太久。运行结果是 4 8 16 32 64 。。。熟悉吧!!!这就是规律!!!接下来就好办了,题目给的N最大为10的9次方在int范围内,所以先打表2^i次方,再枚举判断N是否在这里面即可。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[]={},n;
bool flag;
for(int i=;i<;i++)
a[i]=*a[i-];
while(cin>>n){
flag=false;
for(int i=;i<;++i){
if(n==a[i]){flag=true;break;}
}
if(flag)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return ;
}
最新文章
- SDWebImage源码解读_之SDWebImageDecoder
- Sql Server系列:键和约束
- Element is not currently interactable and may not be manipulated
- 用jQuery基于原生js封装的轮播
- bfc+css
- [Android]下拉刷新控件RefreshableView的实现
- zookeeper节点失效重连机制
- 浅入ARP
- POJ 3061 Subsequence 尺取法
- GHOST系统锁定主页常用软件及解决方案
- golang的ssh例子
- Blueprint编译过程
- js自定义排序
- poj 2796 Feel Good 单调栈区间问题
- 判断Table表中是否含有某一列
- zabbix 主机名必须要能ping通
- 我的winows server 2012 突然多了个piress的帐户,后来一查原来是mysql漏洞的问题,郁闷
- 3D游戏图形引擎
- LeetCode--389--找不同
- MutationObserver DOM变化的观察
热门文章
- 【APUE】信号
- hdoj 3351 Seinfeld 【栈的简单应用】
- VM Workstation的Unity Mode有什么用
- Nginx在Linux下的安装部署
- SGU - 311 Ice-cream Tycoon(线段树)
- JS地区四级级联
- Android网络编程(三)Volley使用方法全解析
- Mysql Solution - Timeout error occurred trying to stop MySQL Daemon. Stopping MySQL: [FAILED] -
- debug找到source lookup path以及,debug跑到另外的解决办法
- XMU 1614 刘备闯三国之三顾茅庐(二) 【逆向思维+二维并查集】