#P0998. [NOIP2007普及组] 守望者的逃离

news/2024/4/16 3:42:55

题目背景

恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。

题目描述

守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。

为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。

守望者的跑步速度为 17m/s17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在 1s1s 内移动 60m60m,不过每次使用闪烁法术都会消耗魔法值 1010 点。守望者的魔法值恢复的速度为 44 点每秒,只有处在原地休息状态时才能恢复。

现在已知守望者的魔法初值 MM,他所在的初始位置与岛的出口之间的距离 SS,岛沉没的时间 TT。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。

注意:守望者跑步、闪烁或休息活动均以秒为单位,且每次活动的持续时间为整数秒。距离的单位为米。

输入格式

输入数据共一行三个非负整数,分别表示 MM,SS,TT。

输出格式

输出数据共两行。

第一行一个字符串 \texttt{Yes}Yes 或 \texttt{No}No,即守望者是否能逃离荒岛。

第二行包含一个整数。第一行为 \texttt{Yes}Yes 时表示守望者逃离荒岛的最短时间;第一行为 \texttt{No}No 时表示守望者能走的最远距离。

输入数据 1

39 200 4

Copy

输出数据 1

No
197

Copy

输入数据 2

36 255 10

Copy

输出数据 2

Yes
6

Copy

数据范围与约定

对于 30\%30% 的数据,1 \le T \le 101≤T≤10,1 \le S \le 1001≤S≤100;

对于 50\%50% 的数据,1 \le T \le 10^31≤T≤103,1 \le S \le 10^41≤S≤104;

对于 100\%100% 的数据,1 \le T \le 3\times 10^51≤T≤3×105,0 \le M \le 10^30≤M≤103,1 \le S \le 10^81≤S≤108。

NOIP 2007 普及组 第三题

代码:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){ios::sync_with_stdio(0);int m,s,t,dp[300050];cin>>m>>s>>t;for(int i=1;i<=t;i++){	//先算出闪烁法术每秒钟逃离的距离 if(m>=10){	//如果魔力值超过10则用闪烁法术 dp[i]=dp[i-1]+60;	//加上逃离的距离 m-=10;	//耗法力值10 }else{	//魔力值不够 dp[i]=dp[i-1];	//休息 m+=4;	//恢复魔力值 }}for(int i=1;i<=t;i++){	//计算跑步的情况 dp[i]=max(dp[i],dp[i-1]+17);	//选择使用闪烁法术与跑步的逃离最大值 if(dp[i]>=s){	//如果逃离距离超过了s,则成功并结束程序 cout<<"Yes"<<endl<<i<<endl;return 0;}}cout<<"No"<<endl<<dp[t]<<endl;	//时间到了还没能逃出则失败 return 0;
}


http://www.ppmy.cn/news/992326.html

相关文章

黑马大数据学习笔记3-MapReduce配置和YARN部署以及基本命令

目录 部署说明MapReduce配置文件YARN配置文件分发配置文件集群启动命令开始启动YARN集群 查看YARN的WEB UI页面保存快照YARN集群的启停命令一键启动脚本单进程启停 提交MapReduce任务到YARN执行提交wordcount示例程序查看运行日志提交求圆周率示例程序 p41~43 https://www.bili…

oracle数据库dbLink的使用

Oracle的数据库链路&#xff08;dbLink&#xff09;是一种允许在两个不同的数据库实例之间进行通信和数据交换的功能。它可以让你在一个数据库中访问另一个数据库的对象和数据&#xff0c;就像它们属于同一个数据库一样。 创建一个link: CREATE public DATABASE LINK link_sco…

SpringBoot自动装配介绍

SpringBoot是对Spring的一种扩展&#xff0c;其中比较重要的扩展功能就是自动装配&#xff1a;通过注解对常用的配置做默认配置&#xff0c;简化xml配置内容。本文会对Spring的自动配置的原理和部分源码进行解析&#xff0c;本文主要参考了Spring的官方文档。 自动装配的组件 …

网络编程 IO多路复用 [select版] (TCP网络聊天室)

//head.h 头文件 //TcpGrpSer.c 服务器端 //TcpGrpUsr.c 客户端 select函数 功能&#xff1a;阻塞函数&#xff0c;让内核去监测集合中的文件描述符是否准备就绪&#xff0c;若准备就绪则解除阻塞。 原型&#xff1a; #include <sys/select.…

进阶高级测试专项,Pytest自动化测试框架总结(三)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、pytest前置条件…

删掉一个元素以后全为 1 的最长子数组

给你一个二进制数组 nums &#xff0c;你需要从中删掉一个元素。 请你在删掉元素的结果数组中&#xff0c;返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组&#xff0c;请返回 0 。 提示 1&#xff1a; 输入&#xff1a;nums [1,1,0,1] 输出&#xff1…

开发经验分享之:import引入包和@Autowired注入类有什么区别

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 import 和 Autowired 想必大家在 Java 开发中使用频率最多的关键字之一了把&#xff0c;这篇博客将解释这两个概念的区别和作用&#xff0c;帮助你更好地理解它们在Ja…

WPF实战学习笔记25-首页汇总

注意&#xff1a;本实现与视频不一致。本实现中单独做了汇总接口&#xff0c;而视频中则合并到国todo接口当中了。 添加汇总webapi接口添加汇总数据客户端接口总数据客户端接口对接3首页数据模型 添加数据汇总字段类 新建文件MyToDo.Share.Models.SummaryDto using System;…

【题解】合并两个排序的链表

题目链接&#xff1a;合并两个排序的链表 解题思路1&#xff1a;迭代 创建一个新的单链表&#xff0c;对两个链表进行迭代&#xff0c;每次取较小元素放入新链表中&#xff0c;直至某一个链表为空&#xff0c;则结束循环&#xff0c;接着判断是否有某个链表没有遍历结束&#…

十三章:使用图像级监督学习像素级语义关联性的弱监督语义分割

0.摘要 分割标签的不足是野外语义分割的主要障碍之一。为了缓解这个问题&#xff0c;我们提出了一个新颖的框架&#xff0c;根据图像级别的类别标签生成图像的分割标签。在这种弱监督的设置下&#xff0c;已知训练模型更倾向于分割局部有区别的部分&#xff0c;而不是整个物体区…

linux配置固定ip

为什么要固定ip&#xff1f; 虚拟机是利用DHCP&#xff08;动态获取ip&#xff09;&#xff0c;ip地址会频繁变化&#xff0c;不利于远程连接linux&#xff0c;同时会改变映射关系。 VMware 第一步&#xff1a;在workstation中配置IP地址网关和网段 1.点击虚拟网络编辑器 …

python+django+mysql项目实践一(环境准备)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 创建Pycharm项目 安装Django 在pycharm文件—设置进行安装 新建Django项目 注意项目创建目录 项目默认目录文件说明: __init__.py asgi.py 【异步接受网络…

C++多线程的简单使用

一.引言 在C学习中&#xff0c;我们在初步学习的过程中写的程序都只可以在本地并且只可以被本主机访问。在此&#xff0c;我们会想要让别人也体验一下我们邪恶的程序的话&#xff0c;我们该怎么办呢&#xff1f; 首先我们介绍的时多线程编程&#xff0c;就相当于我们的登录qq&…

Linux磁盘的相关操作

目录 1、查看磁盘使用情况 2、查看磁盘分区和详细信息 3、创建分区 4、格式化分区 5、挂载 1、查看磁盘使用情况 df -h 2、查看磁盘分区和详细信息 fdisk -l 3、创建分区 例如&#xff0c;创建一个新的主分区 fdisk /dev/sdX # 其中 X 是你的磁盘号&#xff0c;比…

【C++】-动态内存管理

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言一、C内存管理方式1.1 new/delete操作内置类型 总结 前言 今天再讲一个…

LaTex语法(常用数学符号的语法和注意事项)

说明:[]括号表示把语法括起来&#xff0c;并不表示LaTex语法。 1. 求和符号(Σ) 这个符号的基本语法为&#xff1a;[\sum_{}^{}]。 符号有两种模式&#xff1a;内联数学模式(inside math mode)和显示数学模式(displayed math mode)。 内联数学模式&#xff1a;排版时使用各…

PHP: 开发入门macOS系统下的安装和配置

安装Homebrew 安装 ~~友情提示&#xff1a;这个命令对网络有要求&#xff0c;可能需要翻墙或者用你的手机热点试试&#xff0c;或者把DNS换成&#xff08;114.114.114.114 和 8.8.8.8&#xff09; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebr…

C#实现数据库数据变化监测(sqlservermysql)

监测数据库表数据变化&#xff0c;可实现数据库同步&#xff08;一主一从&#xff08;双机备份&#xff09;&#xff0c;一主多从&#xff08;总部数据库&#xff0c;工厂1&#xff0c;工厂2&#xff0c;工厂数据合并到总部数据&#xff09;&#xff09; sqlserver 启用数据库…

【C++】——类和对象

目录 面向过程和面向对象的初步认识类的引入类的定义类的访问限定符及封装类的作用域类的实例化this指针类的6个默认成员函数构造函数析构函数 面向过程和面向对象的初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析求解问题的步骤&#xff0c;通过函数调用…

组件间通信案例练习

1.实现父传子 App.vue <template><div class"app"><tab-control :titles["衣服","鞋子","裤子"]></tab-control><tab-control :titles["流行","最新","优选","数码&q…
最新文章