PTA刷题——龟兔赛跑

7-4 龟兔赛跑 (20 分)

乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,

觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;

而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

输入格式:

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

输出格式:

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

输入样例:

242
输出样例:

@[email protected] 726

题目分析

这一题只要设置一个标志就可以了。

#include<bits/stdc++.h>
using namespace std;
int main() {
    int T,t1=0,t2=0,s1=0,s2=0;//t1:外界时间,t2:兔子的时间,s1:兔子移动的路程,s2:乌龟移动的路程
    bool rest=false;
    cin>>T;
    while(t1!=T) {
        s2+=3;
        if(!rest) {
            t2++;
            s1+=9;
        }
        t1++;
        if(t1%10==0&&rest==false) {
            if(s1>s2) {
                rest=true;
                t2+=30;
            }
        }
        if(t1==t2)
            rest=false;
    }
    if(s1>s2)
        printf("^_^ %d\n",s1);
    else if(s2>s1)
        printf("@[email protected] %d\n",s2);
    else
        printf("-_- %d\n",s2);
    return 0;
}

原文地址:https://www.cnblogs.com/miraitowa/p/10059739.html

时间: 2024-11-05 20:36:42

PTA刷题——龟兔赛跑的相关文章

PTA 刷题与Z老师的头发

刷题与Z老师的头发 (10 分) 在Pintia上,每天Z老师出题.小盆友们刷题.Z老师的头发遵从以下规律: 1.每天生长出60根头发: 2.每出一道题,减少20根头发: 3.每天结束时统计累积做题情况: (1)若出的题全部被做出来,则Z老师产生“没题焦虑”,减少30根头发: (2)若小盆友做出来的题少于50%,则Z老师产生“学生不用功焦虑”,减少70根头发. 现给定连续N天的出题.刷题情况,请计算Z老师头发的变化情况. 输入格式: 第一行输入一个正整数N (N<20): 接下来N行,每行输入两

PTA刷题——猜数字

7-46 猜数字 (20 分) 一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢.本题就要求你找出其中的赢家. 输入格式: 输入在第一行给出一个正整数N(≤104).随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100). 输出格式: 在一行中顺序输出:大家平均数的一半(只输出整数部分).赢家的名字,其间以空格分隔.题目保证赢家是唯一的. 输入样例: 7 Bob 35 Amy 28 James 98 Alice 11

PTA刷题

L1-002:写得太糟了L1-006:不难就是没思路,测试点4是6  2*3L1-008:测试点之一,个数为5.10..个时,多换了个行L1-009:没过,测试点3L1-020:没过,超时La-033:真坑,3000岁以上也要算,3000 4L1-048:没过,超时L1-049:太烂了,下次再写L1-050:26进制L1-064:坑,测试点:can I can => can you can.   can you you=>I can you.  IIIII=>IIIII   一串空格不会

PTA刷题——出租车计价

7-2 出租车计价 (15 分) 本题要求根据某城市普通出租车收费标准编写程序进行车费计算.具体标准如下: 起步里程为3公里,起步费10元: 超起步里程后10公里内,每公里2元: 超过10公里以上的部分加收50%的回空补贴费,即每公里3元: 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费). 输入格式: 输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔. 输出格式: 在一行中输出乘客应支付的车费(单位为元

PTA刷题——到底是不是太胖了

7-7 到底是不是太胖了 (10 分) 据说一个人的标准体重应该是其身高(单位:厘米)减去100.再乘以0.9所得到的公斤数.真实体重与标准体重误差在10%以内都是完美身材 (即 | 真实体重 ? 标准体重 | < 标准体重×10%).已知市斤是公斤的两倍.现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了. 输入格式: 输入第一行给出一个正整数N(≤ 20).随后N行,每行给出两个整数,分别是一个人的身高H(120 < H < 200:单位:厘米) 和真实体重W(50 <

用js刷题的一些坑

leecode可以用js刷题了,我大js越来越被认可了是吧.但是刷题中会因为忽略js的一些特性掉入坑里.我这里总结一下我掉过的坑. 坑1:js中数组对象是引用对象 js中除了object还有数组对象也是引用对象,这点常常被忽视,所以在递归的时候传递数组要用arr.slice(0)这样复制一个一样的新数组,不然会出现你传入的数组会被同级的递归改变,结果就不对了. 所以只要数组复制的地方最好都要这么写,除非你真的想引用.而且注意是slice不是splice这两个方法差别很大,你如果用splice(0

LeetCode刷题之一:寻找只出现一次的数字

投简历的时候看到了个刷题网站,http://www.nowcoder.com/527604,就做了一套题,现记录下来. 题目为: Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it withou

【leetcode刷题笔记】Sum Root to Leaf Numbers

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2 3 T

BZOJ第一页刷题计划

BZOJ第一页刷题计划 已完成:1 / 100 BZOJ1000:A+B