[传智杯 #2 决赛] 补刀

题目描述

UIM 在写程序的空闲玩一款 MOBA 游戏。

当敌方的小兵进入到我方防御塔的范围内,就会持续受到防御塔造成的伤害;当然我方英雄也可以对它造成伤害。当小兵的血量降到了 0 或者更低,就会被击杀。为了获得经验,UIM 希望在防御塔将这个小兵杀死之前,亲自补刀将其击杀。

为了简化问题,我们假设这个小兵有 ℎh 点的生命值。每次防御塔的攻击可以给小兵造成 x 点伤害,而你的英雄每次攻击可以给小兵造成 y 点伤害。你的攻击速度和防御塔攻击速度相同,所以你可以在防御塔第一次攻击小兵之前,或者每次防御塔攻击之后,选择是否对小兵进行一次攻击,当然你也可以选择不攻击。

现在想知道,给出这些信息,判断英雄是否有办法将这个小兵击杀?

输入格式

每个测试点由多组数据组成。

输入第一行,包含一个正整数 T,表示数据组数。

接下来 T 行,每行三个非负整数 h,x,y,其意义已经在题目描述中给出。

输出格式

输出 T 行。对于每组数据,如果可以最后将小兵击杀,输出 Yes,否则输出 No

输入输出样例

输入 #1复制

5
100 100 1
100 97 1
100 98 1
100 99 1
100 100 0

输出 #1复制

No
No
Yes
Yes
No

说明/提示

数据的组数不多于 50,1≤ℎ≤10的18次方     1≤h≤10的18次方,0≤x,y≤10的18次方。

思路分析:

我们看题:

  • 给定小兵生命,防御塔攻击 , 英雄攻击,求英雄是否有办法将这个小兵击杀。

于是我们得到以下结论:

  • 若英雄攻击为 0  则是NO。

  • 若英雄攻击不为 0,但防御塔攻击为 0  则是 YES。

若英雄攻击与防御塔攻击都不为零:

  • 若防御塔刚好将小兵击败 (即 h%x=0 ),英雄能在防御塔击败小兵前打 h/x 次。

  • 若防御塔不能刚好将小兵击败 (即 h%x!=0 ),英雄能在防御塔击败小兵前打 h/x+1 次。

  • 若英雄能在防御塔之前 对小兵造成 h%x 点伤害,则 YES , 否则 NO

代码分享:

#include <iostream>
#include <algorithm>
using namespace std;
long long  n,h,x,y,temp;
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        scanf("%lld%lld%lld",&h,&x,&y);
        if(y==0){//英雄攻击为0
			printf("No\n");
		}
		else if(x==0){//防御塔攻击为0
			printf("Yes\n");
		}
		else if(y>=x){//英雄攻击比防御塔大
			printf("Yes\n");
		}
		else{
			if(h%x==0){
				temp=h/x;
				if(temp*y>=x)printf("Yes\n");
				else printf("No\n");
			}
			else{
				temp=h/x;
				if((temp+1)*y>=h%x)printf("Yes\n");
				else printf("No\n");
			}
		}
	}
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/211006.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言中的格式化输出符号:%d %c %p %x等

文章目录 概览%d%c%d和%c的区别%p%x %X输出浮点数参考 概览 C语言中的格式化输出符号有很多&#xff0c;以下是一些常见的&#xff1a; %d 或 %i&#xff1a;用于输出十进制整数。 %u&#xff1a;用于输出无符号十进制整数。 %f&#xff1a;用于输出浮点数。 %s&#xff1a;用…

Linux - 进程间通信

进程通信 初步理解进程通信 所谓进程之间的通信&#xff0c;就是两个进程之间的 数据层面的交互。 我们之前说过&#xff0c;父子进程之间是有一些数据通信的&#xff0c;子进程可以看到一些父进程 允许 子进程访问的数据&#xff0c;比如 父进程的 环境变量&#xff0c;子…

来CSDN一周年啦!!!

各位CSDN的uu们你们好呀&#xff0c;今天是小雅兰来到CSDN创作的一周年啦&#xff0c;时间&#xff0c;说长不长&#xff0c;说短也不短&#xff0c;在这一年中&#xff0c;我认为我也收获了一些很有价值的东西吧&#xff01;&#xff01; 一周年了&#xff0c;该创作的还得继续…

Android 应用资源概览

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、资源类型分组四、配置限定符名称表…

【Unity入门】声音组件AudioSource简介及实现声音的近大远小

AudioSource组件 将需要播放声音的物体挂载Audio Listener组件&#xff0c;实现声音的播放 AudioSource组件属性 &#xff08;1&#xff09;AudioClip&#xff08;音频剪辑&#xff09;&#xff1a;指定播放的音频文件。 &#xff08;2&#xff09;Output&#xff08;音频输…

Paxos 算法

Paxos 算法 介绍 Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案&#xff08;Proposal&#xff09;达成一致的看法。提案的含义在分布式系统中十分宽泛&#xff0c;像哪一个节点是 Leader 节点、多个事件发生的…

使用mybatis-plus框架:@Autowired报错Could not autowire. No beans of ‘XXX‘ type found

使用mybatis-plus框架,使用xxmapper报错&#xff1a; 解决办法是&#xff1a;在mapper中添加注解&#xff1a; Repository Mapper 也可以使用 AutowiredSysRoleMenuService sysRoleMenuService;替代 AutowiredSysRoleMenuMapper sysRoleMenuMapper;方法名不同&#xff0c;但…

RHCE学习笔记(RHEL8) - RH294

Chapter Ⅰ 介绍Ansible ansible ansible是一款开源自动化平台 ansible围绕一种无代理架构构建&#xff0c;在控制节点上安装ansible&#xff0c;且客户端不需要任何特殊的代理软件&#xff1b;ansible使用SSH等标准协议连接受管主机&#xff0c;并在受管主机上运行代码或命令来…

【嵌入式-51单片机】常见位运算和数据类型

51单片机中 数据类型如下&#xff1a; 位运算符如下&#xff1a; 按位左移<<&#xff1a;低位补零&#xff0c;高位移出 按位右移>>&#xff1a;高位补零&#xff0c;低位移出 按位与&&#xff1a;对应位上的值必须同时为1才为1&#xff0c;可以用来对指定位…

鸿蒙学习之TypeScript 语法理解笔记

1、变量及数据类型 // string&#xff1a;字符串&#xff0c;单引号或双引号 let msg : string hello wprld console.log(msg:msg)// number&#xff1a;数值、整数、浮点let num :number 21console.log(num:num)//boolean&#xff1a;布尔let finished: boolean truecons…

HarmonyOS 开发案例分享:万能卡片也能用来玩游戏

一、前言 作为一名开发爱好者&#xff0c;从大了讲&#xff0c;我学习并进行 HarmonyOS 相关开发是为了能为鸿蒙生态建设尽一份绵薄之力&#xff0c;从小了讲&#xff0c;就是为了自己的兴趣。而万能卡片是一个让我非常感兴趣的东西。 很多时候我跟别人解释什么是万能卡片&…

Redis SDS 源码

底层数据结构的好处&#xff1a; 杜绝缓冲区溢出。减少修改字符串长度时所需的内存重分配次数。二进制安全。兼容部分C字符串函数。 常用命令&#xff1a; set key value、get key 等 应用场景&#xff1a;共享 session、分布式锁&#xff0c;计数器、限流。 1、给char*定义…

【排序】直接插入排序和希尔排序

目录 一、排序思想 1、直接插入排序 2、希尔排序 二、代码实现 三、性能比较 四、排序总结 1、直接插入排序 2、希尔排序 一、排序思想 1、直接插入排序 基本思想&#xff1a;把待排序的序列选取一个整数逐个插入到已经排好的有序序列中&#xff0c;直到所有整数都插入…

Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法

Unity 下载网络图片的方法&#xff0c;可使用WWW类或UnityWebRequest类&#xff0c;其中UnityWebRequest是新版的方法。 通常我们下载图片都会转成Texture&#xff0c;然后赋值给UI或者物体。 具体实现方法&#xff1a; using System.Collections; using System.Collections…

P1 什么是链表 C语言简单易懂

目录 前言 01 什么是链表 02 数组的特点 03 数组的缺点 3.1 删除数组其中一个元素 3.2 数组增加某个节点 04 链表 前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《 C 》✨✨✨ &#x1f525; 推荐专栏2: 《 Linux C应用编程&#xff08;概念…

国际语音群呼系统

随着海外电话营销的发展&#xff0c;越来越多的出海企业通过国际语音群呼系统打开出海营销之路。企业出海营销运营&#xff0c;选择一个安全、高效、便捷的国际语音群呼系统非常重要。 一、什么是国际语音群呼系统&#xff1f; 国际语音群呼是指通过语音的方式批量向海外用户传…

【设计模式-4.1】行为型——策略模式

说明&#xff1a;本文介绍设计模式中的行为型设计模式中的&#xff0c;策略模式&#xff1b; 计算器 策略模式属于行为型设计模式&#xff0c;关注对象的行为。例如&#xff0c;目前有一个计算器类&#xff0c;可对两个数进行加减计算&#xff0c;如下&#xff1a; &#xf…

中国湖泊面积-水位长时序数据产品(2000-2020)

今天我们分享中国湖泊面积-水位长时序数据产品&#xff08;2000-2020&#xff09; 该数据集包含中国典型湖泊2000-2020年最大水体面积、多年平均面积、水位变化速率及空间分布矢量。 数据溯源信息 「数据来源描述」Landsat、HJ、ZY、Jason、ENVISAT、Cryosat、ICESat和HY 「数…

【Linux】信号概念和信号的产生

文章目录 一、什么是信号&#xff1f;1.signal系统调用2.从硬件解析键盘数据如何输入给内核3.同步和异步 二、信号的产生1.键盘组合键2. kill命令3.系统调用接口3.1kill3.2 raise3.3abort 4.异常5.软件条件 重谈core dump标志位 一、什么是信号&#xff1f; 以日常为例&#x…

lv11 嵌入式开发 中断处理 15

前言&#xff1a;中断属于7种异常的1种&#xff0c;这节主要讲CPU接收到中断之后怎么处理&#xff0c;回顾之前的知识。 目录 1 异常 1.1 概念 1.2 异常处理机制 1.3 ARM异常源 1.4 异常模式 1.5 ARM异常响应 1.6 异常向量表 1.7 异常返回 ​编辑 1.8 IRQ异常举例 …