首页 > 其他分享 >龟兔赛跑 PTA

龟兔赛跑 PTA

时间:2024-12-23 23:56:36浏览次数:5  
标签:输出 赛跑 10 tur 龟兔 兔子 分钟 PTA 乌龟

写前感言:

我第一次写这题的时候对这题的出题的考察意义不太理解,我就把它当作一个数学题来做,枚举每一种情况,代码写的又长又凑,不过总归也是写出来了,但是当时没有拿满,应该是数学公式计算错了,但是现在再回头看看,哦~~~原来在考察 条件语句和循环呐,那这 我 太 熟 啦!!!

题目如下:

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

输入格式:

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

输出格式:

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

输入样例:

242

输出样例:

@_@ 726

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

我的理解:

当你突然看见这题,大概率会感到一阵的不知所措,但是我现在来给你讲讲┗|`O′|┛ 嗷~~:

首先我们读题知道

1.兔子的速度是9,乌龟是3

2.兔子每10分钟会回头一次(这不就是一个利用循环的好机会吗)

3.如果兔子在前面,兔子休息30分钟,否则努力10分钟,那么这不就是一个条件判断语句吗,就是说,判断兔子在不在前面,什么时候进行判断捏,是不会当我们的兔子回头的时候才会去进行比较,所以把那个循环和这个if结合就是这题的破题关键了

4.最后出循环,进行比较,最后输出

来看看代码吧:

我的代码:

#include<stdio.h>
int main()
{
    int t;
    scanf("%d",&t);
    int rab = 0, tur = 0;
    for(int i = 1;i <= t;i++){
        rab += 9;
        tur += 3;
        if(i % 10 == 0){//判断是否到了10分钟,因为每10分钟我们兔子回头一次
            if(rab > tur){//判断兔子在前面还是后面
                if(i + 30 <= t){ //当兔子在乌龟前面的时候,兔子就要睡觉了,我们的乌龟继续向前,那么是不是只用加上兔子睡觉这段时间乌龟的路程就好了,但是捏,兔子每次一定会睡觉30分钟,但是你怎么能确保在这个30分钟之内比赛没有结束呢(就是i依然小于等于t),所以我们继续判断
                    i += 30;//当比赛在30分钟内不会结束时,直接让时间去到30分钟之后,然后乌龟加90(就是30*3)
                    tur += 90;
                } else {//这个讲的就是,如果兔子睡觉睡着睡着比赛结束了,那么是不是乌龟就跑不了90米,那么乌龟跑了多远呢? 不就是时间乘上速度吗
                    tur += 3 * (t - i);
                    i = t;//把时间直接跑完了
                }
            } else {//这个条件就是说如果兔子10分钟回头的时候突然发现:艾玛,

标签:输出,赛跑,10,tur,龟兔,兔子,分钟,PTA,乌龟
From: https://blog.csdn.net/x3477144355/article/details/144679305

相关文章

  • PTA L1-059 敲笨钟 c语言基础
    #include<stdio.h>#include<string.h>intong(char*poem)//判断是否押韵 {   inti,len=strlen(poem),flag=0;   for(i=0;i<len;i++){      if(poem[i]==','){         if(poem[i-1]=='g'&&poem[i-2]=='n'&......
  • iptables基本命令
    1.查看当前规则sudoiptables-nL--line-number-n:表示数值输出IP和端口-L:代表列出所有规则--line-number:代表加上行号2.添加一条规则sudoiptables-AINPUT-ilo-jACCEPT-A:代表添加一条规则到指定的链上,这里是添加到INPUT链-i:代表接口lo代表本地(local,127.0......
  • pyqt5线程龟兔赛跑
    哈哈哈#-*-coding:utf-8-*-#Formimplementationgeneratedfromreadinguifile'龟兔赛跑.ui'##Createdby:PyQt5UIcodegenerator5.15.9##WARNING:Anymanualchangesmadetothisfilewillbelostwhenpyuic5is#runagain.Donoteditt......
  • pta 7-363 sdut-C语言实验-简单字符串排序
    题解:#include<iostream>#include<string>usingnamespacestd;//定义学生结构体structstudent{stringname;intscore;};//快速排序实现单词字典序排序voidQuickSort(studentstu[],intleft,intright){if(left>=right)return;inti=left,j=r......
  • PTA-求最大值及其下标
    本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:628101910输出样例:10......
  • PTA L1-011 A-B
    因为我也是参加过了2024的GPLT天梯赛,所以后续会继续更新天梯赛的相关内容,大家有兴趣可以关注一下!题目:L1-011A-B  分数20  作者 陈越  单位 浙江大学本题要求你计算A−B。不过麻烦的是,A和B都是字符串——即从字符串A中把字符串B所包含的字符全删掉,剩下的字......
  • 数据结构实验题目剖析·下篇(PTA平台原题)
    目录补强:A3.PAT考试排名汇总(☆☆)要点剖析:逐步分析:代码分析: 实验结果: A4.旅游规划问题(☆☆)要点剖析: 逐步分析:代码分析:实验结果:数据结构实验题目剖析·上篇(PTA平台原题)补强:这里对上一期的第二题进行一个单独的加强,这里有一个新的思路和代码来和大家......
  • 模拟龟兔赛跑(赛马)
    主要功能:  1)用图形用户界面实现。 2)能设置比赛时间,马匹的数量等。 3)在任意时间段内马匹的速度是随机的。 4)开始比赛之后以动画显示赛马过程。 5)使用多线程技术实现。问题概述模拟龟兔赛跑是一个基于图形用户界面的应用程序,它能够模拟一场龟兔赛跑......
  • Pta|找鞍点
    一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标列下标”(下标从0开始)的格式......
  • PTA循环结构 计算e的近似值
    本题要求编写程序,利用e=1+1!1​+2!1​+3!1​+...+n!1​计算e的近似值,直到最后一项的绝对值小于eps时为止,输出e的值并统计累加的项数。输入格式:键盘输入精度eps。输出格式:e=S,count=N,S为eps精度下的多项式的和,结果保留小数点后三位,N为累加的项数。输入样例:0.0001输......