[传智杯 #2 决赛] 补刀

2023-12-03 01:04
文章标签 决赛 传智杯 补刀

本文主要是介绍[传智杯 #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){//英雄攻击为0printf("No\n");}else if(x==0){//防御塔攻击为0printf("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;
}

这篇关于[传智杯 #2 决赛] 补刀的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/447525

相关文章

P7492 [传智杯 #3 决赛] 序列

*原题链接* 一道类似势能线段树的题,区间按位或上k,不满足区间可合并的性质,只能暴力的单点修改。 但是考虑按位或的性质,一个数或上另一个数,只会变大或不变,如果我们能找到一个方法,能够判定区间里的数,或上k后是否有改变,就可以避免的暴力了。我一开始想的是线段树里维护一个的数组,表示区间内所有数的二进制表示下某一位是否为1,但这太难写,最后无奈去看官方题解,发现只要维护区间所有数的按位与和An

创新大赛决赛:如何让你的项目更上一层楼?

创新大赛决赛:如何让你的项目更上一层楼? 前言突出项目的核心价值指导老师的辅导作用制作优秀的PPT演讲和答辩的准备利用数据和案例增强说服力模拟答辩的重要性总结结语 前言   在当今这个快速变化的时代,创新不仅是推动社会进步的动力,也是个人和团队实现自我超越的途径。创新大赛,作为展现创新精神和实践能力的舞台,每年都吸引着来自不同领域、不同背景的参与者。他们带着满腔热情和独特的创意,

[第五空间2019 决赛]PWN5

参考文章: 格式化字符串漏洞原理及其利用(附带pwn例题讲解)_格式化字符串攻击教程-CSDN博客 格式化字符串漏洞原理详解_静态编译 格式化'字符串漏洞-CSDN博客 BUU pwn [第五空间2019 决赛]PWN5 //格式化字符串漏洞 - Nemuzuki - 博客园 (cnblogs.com) 栈溢出保护(cannary) 数据溢出保护(NX) 运行一下看看

2022年NOC大赛_图形化编程_小高组决赛真题(附答案解析)

今天给大家分享2022年NOC大赛Scratch图形化编程小学高年级组决赛真题及答案解析,备考2024年NOC决赛。 下载:更多NOC决赛真题及其他资料在网盘-真题-NOC大赛或者Scratch知识星球下载,Scratch实验室相关资料及会员说明

2024蓝桥杯初赛决赛pwn题全解

蓝桥杯初赛决赛pwn题解 初赛第一题第二题 决赛getting_startedbabyheap 初赛 第一题 有system函数,并且能在bss上读入字符 而且存在栈溢出,只要过掉check函数即可 check函数中,主要是对system常规获取权限的参数,进行了过滤,用$0即可 exp: from pwn import *li = lambda x : print

[CTF][第五空间2019 决赛]PWN5 1

解题思路 反编译后的源码: srand(__seed);// 生成随机数iVar1 = open("/dev/urandom",0);read(iVar1,&DAT_0804c044,4);printf("your name:");// 读取输入read(0,local_78,99);printf("Hello,");// 打印输入printf(local_78);printf("your

2024百脑汇杯英雄联盟春季联赛广州站城市决赛,战火重燃!

2024百脑汇英雄联盟春季联赛广州站城市决赛,6月1日即将在百脑汇广州店负一楼潮玩地带火热开启,届时上海、长春、郑州和成都等15个的城市决赛也将同时进行。广州站三场海选赛小组冠军队伍将强强对战,争夺本一轮城市冠军席位,城市赛小组冠军队伍将有资格晋级6月8日总决赛,争夺总冠军头衔。 本次广州站赛事采用小组积分赛制,5月18日获得小组冠军分别为DDD战队和HYG.C战队,5月19日获得小组冠

第十一届蓝桥杯大赛软件类决赛 Java 研究生组

文章目录 发现宝藏【考生须知】试题 A: 合数个数试题 B: 含 2 天数试题 C 阶乘约数试题 D: 本质上升序列试题 E: 迨尺天涯试题 F 循环小数试题 G: 蓝肽子序列试题 H 出租车试题 I: 答疑试题 J: 蓝跳跳 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 第十一届蓝桥杯大赛软件类决赛

中国石化“技能三强”知识竞赛决赛活动方案

进一步营造全员学技能、促提升的浓厚培训氛围,展现公司培训工作,总结表彰先进,鼓舞士气,提升全员盯表、全员巡检、全员监护能力,竞赛产生“技能三强”员工,同时通过竞赛进一步激发全厂干部员工信心和力量,加快推进“六大升级”,全力冲刺全年目标。 第一篇章“谁与争锋”比拼 1.必答环节:党建题,班长题,盯表题,巡检题,监护题。大屏幕上共有8套题、每套5题,每支队伍分别选择1套题,主持人读题,“挑战团

有5位学员参加了JAVA知识竞赛的决赛,利用方法计算决赛的平均成绩和最高成绩

package com.leiclass.cl;import java.util.Scanner; public class Test1 { /** * 计算五名学生平均分和最高分, * 定义一个学生类数组,长度为5, * 然后给数组的每一个元素创建一个对象,再将输入的分数赋值给类里面的成员变量 * 定义一个计算方法类,构造计算平均分的方法和最高分的方