7-22 龟兔赛跑 (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

242

输出样例:

@_@ 726

代码:

#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    int v1 = 3 , v2 = 9;
    int n , t = 0 , timetu = 0;
    int count1 = 0 , count2 = 0;
    int temp = 0 , flag = 1;

    cin>>n;
    while(1)
    {
        t += 1;
        count1 += v1;
        if(flag == 1)
        {
            timetu++;
            count2 += v2;
            if(timetu % 10 == 0)
                if(count2 > count1)
                    flag = 0;
        }
        else
        {
            temp++;
            if(temp == 30)
            {
                flag = 1;
                temp = 0;
            }
        }
        if(t == n) break;
    }
    if(count1 > count2)
		cout<<"@_@"<<" "<<count1;
	else if(count1 < count2)
		cout<<"^_^"<<" "<<count2;
	else
		cout<<"-_-"<<" "<<count1;
}

上一篇:力扣22. 括号生成(JAVA)回溯法


下一篇:22/1/8 C语言、C++ 调试程序