PTA 基础编程7-22 龟兔赛跑

乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

输入格式:

输入在一行中给出比赛时间T(分钟)。

输出格式:

在一行中输出比赛的结果:乌龟赢输出@_@,兔子赢输出^_^,平局则输出-_-;后跟1空格,再输出胜利者跑完的距离。

输入样例:

242

输出样例:

@_@ 726


#include 
int main()
{
  int tortoise,rabbit,time,t,run,cnt=0;
  time=tortoise=rabbit=0;
  run=1;
  scanf("%d",&t);
  for(time=1;time<=t;time++)
  {
    tortoise=tortoise+3;

    if(run==1)
    {
      rabbit=rabbit+9;
    }
    if(time%10==0&&rabbit>tortoise)
    {
      run=0;
    }
    if(run==0)
    {
		if(cnt!=0&&cnt%30==0)
		{
			run=1;
			cnt=-1;
		}
		cnt++;       
    }
  }
  if(tortoise>rabbit) printf("@_@ %d",tortoise);
  else if(rabbit>tortoise) printf("^_^ %d",rabbit);
  else printf("-_- %d",tortoise);
  
  return 0;
}

起初以为平局就不需要输出后面的距离导致最后两个测试点总是不过,修改了好久;

这段代码目前是我个人感觉比较容易理解的,几乎没有用到乘法;

第一篇个人博客,转行程序猿之路正式开始,后面我会继续努力写博客的。


你可能感兴趣的:(PTA 基础编程7-22 龟兔赛跑)