ACM知识竞赛 之 SDUT3032 神奇的树(水~~)
来源:互联网 发布:成都直销软件 编辑:程序博客网 时间:2024/04/28 02:30
神奇的树
Time Limit: 1000MS Memory limit: 65536K
题目描述
SDUT有一颗神奇的苹果树。假如某天早上这树上有x个苹果,那么这树这一天会再结出x个苹果来,也就是说到了晚上会有2*x个苹果,到了深夜,会有专人人来摘苹果,而摘苹果的人总会使苹果数剩下当前数量对m的余数,也就是说假如当前数量为a,那么第二天早上会剩下a%m个苹果。也许聪明的你已经发现了,有可能从某一天开始,这棵树上就再也没有苹果了。那么给你第一天早上的苹果数,请你判断一下是否存在这一天,从这一天开始就再也没有苹果了。如果一直存在的话输出Yes,否则输出No。
输入
多组测试数据。每组测试数据都是一行两个整数,x和m。x表示第一天早上的
苹果树,m表示余数。1<=x,m<=10^5.
输出
每组测试数据输出单独一行,Yes或No。
示例输入
1 53 6
示例输出
NoYes
提示
今天比赛的第一题,题意很简单,只要标记一下每次取余的结果,再次出现说明出现了一个环,则永远不可能取光。。
#include <iostream>#include <cstring>#include <cstdio>#include <string>#include <stdlib.h>#include <queue>#include <algorithm>using namespace std;int a[100001];int main(){ int x,m; while(cin>>x>>m) { memset(a,0,sizeof(a)); //用来记录每次取余的结果是否出现过 int flag=1; x=x*2; while(1) { if(x%m==0) //表示取尽苹果,直接输出 { flag=0; break; } else { x=x%m; if(a[x]) //a[x]为1,表示此时x已出现过,出现了环 { flag=1; break; } else a[x]=1; //标记已出现的余数 } x=x*2; } if(flag) cout<<"No"<<endl; else cout<<"Yes"<<endl; } return 0;}
0 0
- ACM知识竞赛 之 SDUT3032 神奇的树(水~~)
- ACM知识竞赛 之 SDUT3033 (最大差)
- ACM知识竞赛 之 SDUT3037 让领导先走(拓扑排序)
- 【replace的用法】第三届ACM/ICPC程序设计知识竞赛网络赛—— 字符串扩展
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- [知识竞赛策划方案] 【图】关于知识竞赛抢答器的问题
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列(找规律 快速幂)
- 神奇的数字之美
- 物理学之神奇的数
- Jquery基础教程之神奇的$()
- Jquery基础教程之神奇的$()
- Jquery基础教程之神奇的$()
- oracle之神奇的游标
- sql之神奇的Merge
- .htaccess 的神奇之处
- Gradle的神奇之处
- Gradle的神奇之处
- 快速将wax配置到项目中进行lua开发
- 基础算法小结
- struts2+hibernate3.2+spring2.0整合篇(三)
- Objective-C内存布局
- Django安装步骤
- ACM知识竞赛 之 SDUT3032 神奇的树(水~~)
- Android线程
- WPF程序中使用MVVM模式
- IOS 内存斗争小史之 对象、指针、内存的基本理解
- eclipse快捷键及各种设置
- 关于cpu的选择
- 待整理总结知识点
- iOS内存管理
- 转:类别,属性,成员变量,arc学习总结