LuoguP1785 漂亮的绝杀 题解
Content
因太占排版,请自己去题面查看。
Solution
声明:以下和题面相同的变量的意义均和题面相同。
这个题目 \(\texttt{if}\) 操作很多,其他的就是纯模拟。
首先,我们先判断数据是否有错误。判断完如果有错误直接结束,没错误继续判断。
判断绝杀,只需判断 \(2z\geqslant x\) 是否成立,这里倒很显然不需多讲。
然后能绝杀的话进入下一部分:能否完胜。
我们先求出绝杀要用的攻击次数 \(t\),然后我们可以依次求出用三星嗜血、四星嗜血和五星嗜血后的血量。分别为 \(y+t\times\left\lfloor z\times0.33\right\rfloor\)、\(y+t\times\left\lfloor z\times0.5\right\rfloor\) 和 \(y+tz\),由于由题面可以知道,企鹅满血血量为 \(315\),所以从三星嗜血开始依次判断是否是满血即可。
如果不行,直接输出四星嗜血后的血量时,直接套用上面的公式就好。
Code
#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
using namespace std;
int x, y, z, times;
int main() {
scanf("%d%d%d", &x, &y, &z);
if(y <= 0 || y > 315 || y >= x || x > 1800 || z >= 1000 || z <= 100) return printf("Wrong Data"), 0;
if(z * 2 < x) return printf("No"), 0;
puts("Yes");
times = (z >= x) ? 1 : 2;
if(y + times * (int)(z * 0.33) >= 315) printf("Great");
else if(y + times * (int)(z * 0.5) >= 315) printf("Eh..\nOK");
else if(y + times * z >= 315) printf("Oh..\nOh..\nYes , If he can get 5-star.");
else printf("No\nNo\nNo\n%d", y + (int)(times * z * 0.5));
return 0;
}
LuoguP1785 漂亮的绝杀 题解的更多相关文章
- 洛谷——P1785 漂亮的绝杀
P1785 漂亮的绝杀 题目背景 话说absi2011的企鹅在和斗神塔第60层的Boss战斗 不好,这局要输了,企鹅还剩4血了Boss还有392呢,哇,漂亮——红缨枪连击,280,343(暴击),绝杀 ...
- 洛谷—— P1785 漂亮的绝杀
https://www.luogu.org/problem/show?pid=1785 题目背景 话说absi2011的企鹅在和斗神塔第60层的Boss战斗 不好,这局要输了,企鹅还剩4血了Boss还 ...
- Javascript + Dom知识点总结
Javascript + Dom知识点总结 1.用Javascript声明数组和字典的方式 // 数组声明 var arr = new Array(); arr["0"] = &q ...
- 【codeforces】【比赛题解】#872 CF Round #440 (Div.2)
链接. [A]寻找漂亮数字 题意: 给定了两列非零数字.我们说一个数是漂亮的,当它的十进制表达中有至少一个数从数列一中取出,至少有一个数从数列二中取出.最小的漂亮数字是多少? 输入: 第一行两个数\( ...
- BZOJ4698 & 洛谷2463:[SDOI2008]Sandy的卡片——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4698 https://www.luogu.org/problemnew/show/P2463#sub ...
- 洛谷 P3239 / loj 2112 [HNOI2015] 亚瑟王 题解【期望】【DP】
???看不懂的期望DP 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚 ...
- 2018天梯赛第一次训练题解和ac代码
随着评讲的进行代码和题解会逐步放上来 2018天梯赛第一次训练 1001 : 进制转换 Time Limit(Common/Java):1000MS/10000MS Memory Limit: ...
- LeetCode题解: LRU Cache 缓存设计
LeetCode题解: LRU Cache 缓存设计 2014年12月10日 08:54:16 邴越 阅读数 1101更多 分类专栏: LeetCode 版权声明:本文为博主原创文章,遵循CC 4 ...
- 题解 Luogu P3370
讲讲这题的几种做法: 暴力匹配法 rt,暴力匹配,即把字符串存起来一位一位判相等 时间复杂度$ O(n^2·m) $ 再看看数据范围 \(n\le10^5,m\le10^3\) 当场爆炸.当然有暴力分 ...
随机推荐
- vue-if和show
<template> <div> <div v-if="flag">今晚要上课</div> <div v-else> 今 ...
- MySQL 在线开启&关闭GTID模式
MySQL 在线开启&关闭GTID模式 目录 MySQL 在线开启&关闭GTID模式 基本概述 在线开启GTID 1. 设置GTID校验ENFORCE_GTID_CONSISTENCY ...
- Codeforces 1383D - Rearrange(构造)
Codeforces 题面传送门 & 洛谷题面传送门 一道不算困难的构造,花了一节英语课把它搞出来了,题解简单写写吧( 考虑从大往小加数,显然第三个条件可以被翻译为,每次加入一个元素,如果它所 ...
- CF#581 (div2)题解
CF#581 题解 A BowWow and the Timetable 如果不是4幂次方直接看位数除以二向上取整,否则再减一 #include<iostream> #include< ...
- MongoDB 安装/启动/基本操作命令
1.MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系型数据库和非关系数据库之间的 ...
- WPS表格数据透视表的美化和布局
设计--分类汇总--在组的底部显示所有分类汇总 把二级分类单独放在一类中 设计--报表布局--以表格形式显示 快速调整表格的外观 分析--+/-按钮 设置字段的数字格式以万元为单位 选中任 ...
- 生成随机数的N种方式
首先需要说明的是,计算机中生成的随机数严格来说都是伪随机,即非真正的随机数,真正随机数的随机样本不可重现.那么我们来看看代码中有哪些方式可以生成随机数. rand rand函数声明如下: #inclu ...
- 《Redis设计与实现》知识点目录
Redis设计与实现 第一部分 数据结构与对象 第二章 简单动态字符串 p8 简单动态字符串SDS 2.1 SDS的定义 p9 每个sds.h/sdshdr结构表示一个SDS值 2.2 SDS与C字符 ...
- 使用SpringBoot实现文件的上传
使用SpringBoot实现文件的上传 springboot可以直接使用 org.springframework.web.multipart.MultipartFile 所以非常容易实现 一.首先是简 ...
- Go 性能提升tips--边界检查
1. 什么是边界检查? 边界检查,英文名 Bounds Check Elimination,简称为 BCE.它是 Go 语言中防止数组.切片越界而导致内存不安全的检查手段.如果检查下标已经越界了,就会 ...