当前位置: 首页 > news >正文

[题解]龟兔赛跑 | PTA

题目描述

  • 题源:龟兔赛跑 - PTA
  • 题意:乌龟与兔子在同一起点、同一时刻沿环形跑道赛跑。乌龟以 3m/s3\text{ m/s}3 m/s 匀速前进;兔子以 9m/s9\text{ m/s}9 m/s 奔跑,但每隔 101010 分钟回头观察一次:若此时已领先乌龟,则停下休息 303030 分钟,否则继续跑 101010 分钟。乌龟从不休息。求经过 TTT 分钟后谁跑得更远(乌龟@_@,兔子^_^,平局-_-),并输出较远者的距离。

题解1:以距离入手

简单直叙式模拟,无任何思维技巧。

#include <stdio.h>
int main() {int T;scanf("%d", &T);int t = 0; // 当前时刻int turtle = 0; // 乌龟距离int rabbit = 0; // 兔子距离int rest = 0; // 兔子剩余休息时间while (t < T) { // 累加模拟t++;turtle += 3;if (rest) rest--; // 兔子仍在休息else rabbit += 9; // 兔子不在休息if (t % 10 == 0 && !rest ) { // 每跑10分钟检查一次if (rabbit > turtle) rest = 30; // 从下一分钟开始休息30分钟}}if (rabbit > turtle)printf("^_^ %d", rabbit);else if (rabbit < turtle)printf("@_@ %d", turtle);elseprintf("-_- %d", rabbit);return 0;
}

题解2:以时间入手

我们暴力打表找规律,并将龟兔的时间-距离图像可视化,可观察到以 909090 分钟为一周期。
在这里插入图片描述
于是我们只需将 TTT909090 取模,再根据时间判断即可。注意此时需正确处理兔子距离,因为兔子的距离并非与时间成正比,因此不能用兔子的时间乘以兔子的速度!

#include <stdio.h>
int main() {int T;scanf("%d", &T);int rest = T % 90;if (rest == 0 || rest == 30 || rest == 45 || rest == 60) {printf("-_- %d\n", 3 * T);}else if ((rest > 0 && rest < 30) || (rest > 45 && rest < 60)) {printf("^_^ %d\n", (T / 90) * 270 + ((rest <= 10) ? 9LL * rest : (rest <= 40) ? 90LL : (rest <= 50) ? 90LL + 9LL * (rest - 40) : (rest <= 80) ? 180LL : 180LL + 9LL * (rest - 80)));}else if ((rest > 30 && rest < 45) || (rest > 60 && rest < 90)) {printf("@_@ %d\n", 3 * T);}return 0;
}

或者我们暴力模拟兔子距离即可,但此方法倒不如方法1,得不偿失,因此就不展示了。

http://www.dtcms.com/a/590304.html

相关文章:

  • 禁闭求生2/Grounded 2|网络联机|30GB|简体中文|支持多种操作设备
  • 网站开发流行语言php网站开发实训指导书
  • 百科类网站建设静态网站开发课程相关新闻
  • 我与C++的故事
  • HTML 段落
  • 国外网站无法访问企业网站备案名称
  • 建设网上银行官方网站起飞页自助建站平台
  • Bluepine Tech Foundation 启动全球AI农业数据服务平台
  • 品牌网站建设哪里有三星网上商城app
  • 网站制作的公香河住房与建设局网站
  • 免费自助网站建设wordpress电影下载站
  • 徐州商城建站系统wordpress divi 2.5
  • 电影网站做seo公司建网站 内部邮箱
  • 什么语言网站比较安全三亚推广公司
  • python做笔记的网站宿迁房产网安居客
  • 王建设个人网站百度网站免费优化软件下载
  • 关于电商商品卡片布局的代码详细解析
  • 如网站站长如何对付黑客seo的基本步骤是什么
  • 【完整源码+数据集】高空作业数据集,yolo高空作业检测数据集 2076 张,人员高空作业数据集,目标检测高空作业识别系统实战教程
  • 东营网站建设服务商网络技术工程师
  • 本溪建设银行网站广东阳江发布
  • 嵌入式开发:高效偷懒的艺术
  • 有哪些比较好的企业网站建设杭州北京网站建设公司哪家好
  • 面向边缘智能的稳健医疗AI:模型性能衰减监控与自适应微调机制深度解析(下)
  • 徐州制作手机网站网站怎么添加管理员
  • 长沙建设网站制作网站维护基础知识
  • 网页开发和网站开发婚纱摄影网站定制
  • 用软件做的网站权限管理福州做网站设计
  • 我有虚拟服务器怎么快速做网站广州番禺地图全图
  • [Java EE] 多线程 -- 初阶(1)