送气球

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_送气球(规律题)的更多相关文章

  1. 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 ...

  2. Codeforces - 规律题 [占坑]

    发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces - 1008C ...

  3. HDU 6464 免费送气球 【权值线段树】(广东工业大学第十四届程序设计竞赛)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6464 免费送气球 Time Limit: 2000/1000 MS (Java/Others)    M ...

  4. HDU 6464.免费送气球-动态开点-权值线段树(序列中第first小至第second小的数值之和)(感觉就是只有一个状态的主席树) (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    免费送气球 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  5. hdoj--1005--Number Sequence(规律题)

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. ACM_棋棋棋棋棋(规律题)

    棋棋棋棋棋 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在遥远的K次元空间,一年一度的GDUFE-GAME又开始了.每年的GD ...

  7. 送气球.jpg(模拟)

    链接:https://ac.nowcoder.com/acm/contest/318/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  8. 洛谷 P1876 开灯(思维,枚举,规律题)

    P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...

  9. Codeforces 959E. Mahmoud and Ehab and the xor-MST 思路:找规律题,时间复杂度O(log(n))

    题目: 解题思路 这题就是0,1,2...n-1总共n个数字形成的最小生成树. 我们可以发现,一个数字k与比它小的数字形成的异或值,一定可以取到k与所有正整数形成的异或值的最小值. 要计算n个数字的情 ...

随机推荐

  1. 【c++】【转】结构体字节对齐

    http://www.cnblogs.com/heyonggang/archive/2012/12/11/2812304.html

  2. Jackson说明

    Jackson说明 package com.stono.sboot2_chp4_jackson.controller; import com.fasterxml.jackson.annotation. ...

  3. CentOS系统中常用查看系统信息和日志命令小结

    转载:http://www.3lian.com/edu/2015/04-09/204628.html 进程 # ps -ef # 查看所有进程 # top # 实时显示进程状态(另一篇文章里面有详细的 ...

  4. rocketmq消费队列代码

    DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(Constant.operationLogGroup); try { consum ...

  5. Java 中 泛型的限定

         泛型 一般 出如今集合中,迭代器中 也会出现!      泛型 是为了 提高代码的 安全性. 泛型 确保数据类型的唯一性. 在我们经常使用的容器中.  越是 单一 约优点理啊!       ...

  6. Linq:int类型使用Contains方法

    获取的是前台传过来的String类型的值,例如:1,123,44,59 具体代码如下 if (!string.IsNullOrEmpty(str)) { string[] strArr = str.S ...

  7. ABAP ODATA接口开发

    1.SE37 创建好 Remote-Enabled函数. 2.SEGW,新建项目 创建项目之后,展开,右键Data Model,Import 函数. 导入函数之后,创建mapping 3./IWFND ...

  8. Android Studio配置完毕Genymotion 看不到Genymotion图标

    没有打开toolBar想要看到genymotion插件图标,AndroidStudio单击视图(view)>工具栏显示工具栏(toolbar)

  9. YTU 2905: The Sum of 1...N

    2905: The Sum of 1...N 时间限制: 1 Sec  内存限制: 128 MB 提交: 281  解决: 51 题目描述 Given an integer n,your task i ...

  10. 大话SEO网站优化|SEO优化入门技术详解

    网络营销 网络营销是借助一切被目标用户认可的网络应用服务平台开展的引导用户关注的行为或活动,目的是促进产品在线销售及扩大品牌影响力. web1.0时代有搜索引擎营销.BBS营销.邮件营销.病毒式营销. ...