acm算法经典例题

acm算法经典例题

ID:36107948

大小:403.50 KB

页数:139页

时间:2019-05-06

acm算法经典例题_第1页
acm算法经典例题_第2页
acm算法经典例题_第3页
acm算法经典例题_第4页
acm算法经典例题_第5页
资源描述:

《acm算法经典例题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、--一、数论1:WolfandRabbit描述Thereisahillwithnholesaround.Theholesaresignedfrom0ton-1.Arabbitmusthideinoneoftheholes.Awolfsearchestherabbitinanticlockwiseorder.Thefirstholehegetintoistheonesignedwith0.Thenhewillgetintotheholeeverymholes.Forexample,m=2andn=6,thewolf

2、willgetintotheholeswhicharesigned0,2,4,0.Iftherabbithidesintheholewhichsigned1,3or5,shewillsurvive.Sowecalltheseholesthesafeholes.输入TheinputstartswithapositiveintegerPwhichindicatesthenumberoftestcases.ThenonthefollowingPlines,eachlineconsists2positiveinteger

3、mandn(0

4、据2个数m----n(0

5、解题关键:这题就转化成了判断两个数是否有公约数。代码:#includeusingnamespacestd;longlonggreatestCommonDivisor(longlonga,longlongb)//最大公约数{  longlongt;  while(b)  {    t=a%b;    a=b;    b=t;  }  returna;}intmain(){  inti,p;  longlongm,n;----  cin>>p;  for(i=0;i

6、n>>m>>n;    if(greatestCommonDivisor(m,n)==1)//公约数为1说明互斥,没有安全洞穴      cout<<"NO";    else      cout<<"YES";  }  return0;}2:a^b描述给定a和b,输出a^b的最后一个数字。输入输入数据有多组,每组数据占一行,每行为a和b的值(0

7、还会超出Int范围题目说只要最后一个数字,回想一下小学时学的乘法过程,貌似乘数最后一位和前面的无关我们大胆的尝试一下用a的个位代替a,然后我们发现循环b次还是会超时,这是我们要想办法减少循环的次数,试一下是不是有周期规律这时我们来列举一下2的n次方的个位:24862486----我们发现周期为4,我们在试试1-9的n次方,发现周期都是4,所以,我们可以用b%4代替b,需要注意的是,当b%4==0时,我们需要给他加上4,不然就不循环了。代码:#includeintmain(){inta,b,i,t

8、;while(scanf("%d%d",&a,&b)!=EOF){b=b%4;if(b==0)b=4;a=a%10;t=1;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。