ACM_送气球(规律题)
送气球
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 ;
}
ACM_送气球(规律题)的更多相关文章
- LightOJ1010---Knights in Chessboard (规律题)
Given an m x n chessboard where you want to place chess knights. You have to find the number of maxi ...
- Codeforces - 规律题 [占坑]
发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces - 1008C ...
- HDU 6464 免费送气球 【权值线段树】(广东工业大学第十四届程序设计竞赛)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6464 免费送气球 Time Limit: 2000/1000 MS (Java/Others) M ...
- HDU 6464.免费送气球-动态开点-权值线段树(序列中第first小至第second小的数值之和)(感觉就是只有一个状态的主席树) (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)
免费送气球 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- hdoj--1005--Number Sequence(规律题)
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- ACM_棋棋棋棋棋(规律题)
棋棋棋棋棋 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在遥远的K次元空间,一年一度的GDUFE-GAME又开始了.每年的GD ...
- 送气球.jpg(模拟)
链接:https://ac.nowcoder.com/acm/contest/318/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 洛谷 P1876 开灯(思维,枚举,规律题)
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...
- Codeforces 959E. Mahmoud and Ehab and the xor-MST 思路:找规律题,时间复杂度O(log(n))
题目: 解题思路 这题就是0,1,2...n-1总共n个数字形成的最小生成树. 我们可以发现,一个数字k与比它小的数字形成的异或值,一定可以取到k与所有正整数形成的异或值的最小值. 要计算n个数字的情 ...
随机推荐
- [转]JavaEE开发基础
JavaEE开发基础 1 JavaEE简介 Java平台有三个版本,分别是JavaSE(Java Platform, Standard Edition),JavaEE(Java Platform, E ...
- iOS开发人员:事实上你还有非常多东西须要学
iOS 新特性总结(since iOS6) iOS 6 1.废除viewDidUnLoad 收到内存警告须要到didReceiveMemoryWarning中处理 [小技巧] -(void)didRe ...
- 记一次Tomcat无法正常启动的查错与解决之路
使用LombozEclipse运行某Web应用,结果总是404. 换另一个Eclipse运行,还是404. 换Tomcat到更高版本,还是404. 直接启动Tomcat,闪退. 用重定向拦截输出,可惜 ...
- Mac下Git项目使用的.gitignore文件
https://www.gitignore.io/ 这个网站可以搜索特定项目.系统所需要的.gitignore 我现在主要是在Mac上用Visual Studio Code进行开发,所以直接搜索Mac ...
- hdfs对namenode format 之后 应该首先检查内存消耗情况,以判断是否支持开启yarn
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml 3.0.0 yarn.sc ...
- ios UIWebView 播放优酷土豆视频
将以下的代码嵌套在html里.然后webView载入这个网页.或这段html码,即可了,无须要使用像网上说的html5去兼容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...
- 原生ajax请求和jsonp
1.原生ajax请求 var obj = new XMLHttpRequest(); obj.open("POST", url, true); obj.setRequestHead ...
- ABAP doi 导出程序
PERFORM FRM_OUTPUT_EXCEL_38 TABLES GT_RESULT USING 'ZHRPA038' LDF_PATH . FORM FRM_OUTPUT_EXCEL_38 TA ...
- Mybatis拦截器(插件实现原理)
在mybatis的mybatis.cfg.xml中插入: <plugins> <plugin interceptor="cn.sxt.util.PageIntercepto ...
- 《Image Generation with PixelCNN Decoders》论文笔记
论文背景:Google Deepmind团队于2016发表在NIPS上的文章 motivation:提出新的image generation model based on pixelCNN[1]架构. ...