【2020.02.01NOIP普及模拟4】怪兽
【2020.02.01NOIP普及模拟4】怪兽
题目描述
PYWBKTDA最近正在打怪兽,一个斯拉夫神话中的凶猛怪兽,一个有着多个头的巨大龙状爬行动物。
开始的时候,怪兽有X个头,你有n种打击方式。如果你选择第i种打击方式,这个神奇的怪兽会减 少min(d i
,cur)个头。这里cur表示当前怪兽拥有的头的数量。但是如果怪兽被打击以后还至少留下 了一个头,那么它就会再长出h i 个头来。当cur
= 0或者小于0的时候,怪兽被打败了。 注意,你可以使用任何一种打击方式任何次数,以任何的顺序。 例如,如果当前cur = 10,d = 7,h = 10,那么一次打击以后怪兽就会有13个头了(因为减少了7个 头以后,怪兽还剩下3个头,再加上10个头)。但是如果当前cur =
10,d = 11,h = 100,那么怪兽就被打败了。
输入
第一行输入是两个整数n和x,分别表示打击的种类和开始时候怪兽的头的数量。
接下来n行, 每行两个整数描述了d i 和h i ,表示第i种打击减少的头的数量和会长出来的头的数量。
输出
输出只有一个整数,表示最少需要打击的次数,如果怪兽无法被打败,就输出−1。
输入输出样例
【输入样例1】
3 10 6 3 8 2 1 4
【输出样例1】
2
【输入样例2】
4 10
4 1
3 2
2 6
1 100
【输出样例2】
3
【输入样例3】
2 15
10 11
14 100
【输出样例3】
-1
数据范围限制
对于50%的数据,1 ≤ n ≤ 10,1 ≤ x ≤ 100,1 ≤ d i ≤ 100,1 ≤ h i ≤ 100。
对于100%的数据,1 ≤ n ≤ 100,1 ≤ x ≤ 10 9 ,1 ≤ d i ≤ 10 9 ,1 ≤ h i ≤ 10 9 。
提示
样例1,你可以使用第一种打击方式,第一次打击以后剩下(10-6+3=7)个头,再进行第2次打击。
样例2,你可以使用第一种打击方式,攻击3次。
样例3,这里你无法打败怪兽。
解析
这道题数据挺水的,直接暴力。
code
#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
//freopen("monster.in","r",stdin);
//freopen("monster.out","w",stdout);
int n,x,y,t[105],d[105],h[105],ans=0;
scanf("%d%d",&n,&x);
for(int i=1;i<=n;++i){
scanf("%d%d",&d[i],&h[i]);
t[i]=d[i]-h[i];
}
while(x){
int fff=false;
for(int i=1;i<=n;++i){
if(x-d[i]<=0){
ans++;
fff=true;
break;
}
}
if(fff)break;
int maxx=-999999999;
for(int i=1;i<=n;++i){
if(maxx<t[i])maxx=t[i];
}
int xi=x;
if(maxx!=-999999999){
ans++;
x-=maxx;
if(x>=xi){
printf("-1");
return 0;
}
}
}
printf("%d",ans);
//fclose(stdin);
//fclose(stdout);
return 0;
}
【2020.02.01NOIP普及模拟4】怪兽的更多相关文章
- hdu 1026(BFS+输出路径) 我要和怪兽决斗
http://acm.hdu.edu.cn/showproblem.php?pid=1026 模拟一个人走迷宫,起点在(0,0)位置,遇到怪兽要和他决斗,决斗时间为那个格子的数字,就是走一个格子花费时 ...
- Hunt the Wumpus第二个版本---多怪兽,多洞穴,洞穴间双向互通
其中,将洞穴连起来的算法要好好体会. 学习构建临时变量列表,确认循环用FOR,非确定循环用 WHILE,并定好退出条件. from random import choice cave_numbers ...
- 怪兽z主机豪华版 答问。
我的淘宝店里,怪兽z主机标准版,分经济版本,标准版,豪华版,三个版本.这里给大家详细介绍一下豪华版的概况. 淘宝购买地址:http://item.taobao.com/item.htm?id=3818 ...
- 饼干怪兽和APT攻击
APT攻击就像一个孩子,你通过各种方式窃取他们的大脑要拿出饼干,为了防止恶意攻击,过失作为母亲未能发现和防止饼干盗窃贼如.于她仅仅监视厨房椅子.衣柜门或烤箱门的开启.建立起有效防御目标攻击与APT攻击 ...
- 使用canvas通过js制作一个小型英雄抓怪兽的2D小游戏
首先,这是一个HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- 如何用纯 CSS 创作一只徘徊的果冻怪兽
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VdOKQG 可交互视频 ...
- 51nod-1670-打怪兽(递推/组合数学)
1670 打怪兽 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 lyk在玩一个叫做“打怪兽”的游戏.游戏的规则是这样的.lyk一开始会有一个初始 ...
- 【10.6NOIP普及模拟】MATH——枚举法
[10.6NOIP普及模拟]MATH 题目简化 一个数列任意删k个数,是得数列中最大的差+最小的差最小 思路 程序1--时超40 暴搜+剪枝. 用类似排列组合的方式,暴搜删或不删 剪枝就是看看剩下的数 ...
- 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VdOKQG 可交互视频 此视频是可 ...
随机推荐
- clientHeight & offsetHeight & scrollHeight
clientHeight & offsetHeight & scrollHeight scrollWidth/scrollHeight,offsetWidth/offsetHeight ...
- linux move file / folder bash command
linux move file / folder bash command mv $ which mv $ man mv # mv [-f] source target/ target folder ...
- taro 进阶指南
taro 进阶指南 配置 https://nervjs.github.io/taro/docs/config.html https://nervjs.github.io/taro/docs/confi ...
- how to get selected option text in javascript
how to get selected option text in javascript refs https://developer.mozilla.org/en-US/docs/Web/API/ ...
- NGK公链全面服务旅游经济
有数据显示,2019 年全球旅游总收入已达 6.5万亿美元, 占全球 GDP 的 7.3%,旅游业发展所创造的收益,于全球经济的重要性,不言而喻. 在旅游产业蓬勃发展的同时,中心化运营模式下却仍存在痛 ...
- JS广度优先遍历
自己用JS实现了 广度优先遍历 第一种用了数组的高阶函数,看起来有些复杂.然后思索着从可读性上优化了一下,孰优孰劣以后分析. var list = [{ id: "ab", chi ...
- Vue学习笔记-chrome84版本浏览器跨域设置
一 使用环境: windows 7 64位操作系统 二 chrome84版本浏览器跨域设置 报错问题:Indicate whether to send a cookie in a cross- ...
- Django Admin 图片路径设置显示为图片(imageField显示方法设置)
一 使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7 (Windows x86-64 executable in ...
- 微信小程序:小程序中使用Less
配置: 首选项 -> 设置 -> 用户 -> 扩展 (找到EasyLess插件,编辑setting.json文件进行配置) 点击vscode左下角的à设置à点击右上角的à添加以上代码 ...
- 如何用Eggjs从零开始开发一个项目(2)
在上一篇文章,我们已经使用Sequelize连接上了数据库,并能进行简单的数据库操作,在此基础上,我们试着来开发一个完整的项目.这篇文章我们从用户的注册.登录着手,试着开发用户模块的相关的代码. 用户 ...