【t068】智慧碑
Time Limit: 1 second
Memory Limit: 128 MB
【问题描述】
DIABLO魔王和Mini都有三种属性,体力点,攻击点,以及集气点。
两人的攻击方式是这样的:采用回合制。
DIABLO先攻,DIABLO只会攻击,每次攻击可以伤害Mini W点体力点,且DIABLO每攻击一次集气点都会增加10点。
Mini每回合可以选择攻击或者集气,选择攻击则可以伤害DIABLO Q点体力点,但是集气点不会增加。选择集气则可以增加Mini 20点
的集气点。
注意,当Mini连续攻击次数>=5时,他必须要集气一次。
两人攻击的共同点是,当集气点>=100时必须要发出必杀绝招,DIABLO的必杀绝招可以伤害Mini 15点体力点,而Mini的必杀绝招可以
伤害DIABLO 25点的体力点。每次发完必杀绝招,都需要消耗100点集气点。(必杀绝招也算攻击一次,如果集气点>=100时,即
使连续攻击次数>=5,也要放必杀绝招,直到集气点<100)
为了提前打好准备,Mini决定先知道自己有多少种不同的攻击方式可以获得胜利。注意,只要DIABLO体力点<=0就判定Mini这种攻击
方式可以获得胜利,如果Mini的体力点<=0就判定Mini这种攻击方式不可以获得胜利。如果没有一种攻击方式能打败DIABLO则输
出“No answer”(引号不输出)
【输入格式】
两行。
第一行三个数A,W,K,用空格隔开,A表示DIABLO的初始体力点(1<=A<=1000),W表示DIABLLO的攻击点(47<=W<=500),K表示DIABLLO的
初始集气点(0<=K<=500);
第一行三个数B,Q,P,用空格隔开,B表示Mini的初始体力点(1<=B<=1000),Q表示Mini的攻击点(0<=Q<=500),P表示Mini的初始集气
点(0<=P<=5000)
【输出格式】
一个数,表示Mini有多少种不同的攻击方式可以获胜。 无法获胜输出“No answer”(引号不输出)。
Sample Input
100 96 3
53 6 7
Sample Output
No answer
Sample Input2
100 42 5
200 48 47
Sample Output2
4
【题目链接】:http://noi.qz5z.com/viewtask.asp?id=t068
【题解】
根据所给的规则,可以写两个void;
互相调用;
模拟回合制游戏的过程;
先判断有没有挤满气;
挤满气了就放大招;
如果没有集满气
对于大魔王,它就只能攻击;
对于人物,它能攻击和集气;
写个dfs就好
【完整代码】
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define rei(x) scanf("%d",&x)
#define rel(x) scanf("%I64d",&x)
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;
const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int MAXN = 110;
int a,w,k,ans = 0;
int b,q,p;
void diablo(int,int,int,int,int);
void mini(int,int,int,int,int);
void diablo(int x1,int x2,int q1,int q2,int lx)
{
if (x1<=0)
{
ans++;
return;
}
if (q1>=100)
mini(x1,x2-15,q1-90,q2,lx);
else
mini(x1,x2-w,q1+10,q2,lx);
}
void mini(int x1,int x2,int q1,int q2,int lx)
{
if (x2<=0)
return;
if (q2>=100)
diablo(x1-25,x2,q1,q2-100,lx+1);
else
{
if (lx>=5)
diablo(x1,x2,q1,q2+20,0);
else
{
diablo(x1,x2,q1,q2+20,0);
diablo(x1-q,x2,q1,q2,lx+1);
}
}
}
int main()
{
//freopen("F:\\rush.txt","r",stdin);
rei(a);rei(w);rei(k);
rei(b);rei(q);rei(p);
diablo(a,b,k,p,0);
if (ans==0)
puts("No answer");
else
printf("%d\n",ans);
return 0;
}
【t068】智慧碑的更多相关文章
- 标准产品+定制开发:专注打造企业OA、智慧政务云平台——山东森普软件,交付率最高的技术型软件公司
一.公司简介山东森普信息技术有限公司(以下简称森普软件)是一家专门致力于移动互联网产品.企业管理软件定制开发的技术型企业.公司总部设在全国五大软件园之一的济南齐鲁软件园.森普SimPro是由Simpl ...
- 生活中的OO智慧——大话面向对象五大原则
世间万物,以俗眼观纷纷各异,以道眼观种种是常.面向对象思想不仅是编程的智慧,同样也是人生的智慧.通过生活去领悟面向对象的智慧,以面向对象的智慧来指导生活. (部分图片取自How I explained ...
- [BZOJ1501][NOI2005] 智慧珠游戏
Input 文件中包含初始的盘件描述,一共有10行,第i行有i个字符.如果第i行的第j个字符是字母”A”至”L”中的一个,则表示第i行第j列的格子上已经放了零件,零件的编号为对应的字母.如果第i行的第 ...
- [转]新型智慧城市总体架构 华为 新ICT 一云二网三平台
本文转自:http://www.jpsycn.com/hangyexinwen/20160801142354.html “十三五”规划提出,充分运用现代信息技术和大数据,建设一批新型示范性智慧城市.日 ...
- iOS “智慧气象”APP中用到的第三方框架汇总
“智慧气象”是我最近在公司接手的项目,已经完成最新版本的更新并上架,在此分享下其中用到的第三方框架的使用. 应用地址:APP商店搜索“智慧气象” MJRefresh(下拉刷新)业界知名下拉刷新框架就不 ...
- 绕过HR破门而入的求职智慧
以往我们在网上看到的很多求职文章或指导性纲领,譬如啥自信.做功课.良好形象.华丽的简历.工作经验.口才啥的,其实到了21世纪尤其是互联网高速发展的今天,前面这些技巧就显得无比空洞: 1.因为自信谁都可 ...
- VR全景智慧城市-720全景项目行业应用
VR虚拟现实.VR全景概念已成为科技发展热议的焦点.在这样的市场大环境下,全景智慧城市做为一家对大众创新万众创业和用户体验为理念的VR全景城市化信息搜素平台平地而生成为的VR行业领跑者,致力VR全景V ...
- 在线学习体验大PK 云智慧发布在线教育网站性能监测报告
互联网不但改变了我们的生活.娱乐和消费方式,也推动各行各业进行着快速变革,越来越多的职场人士必须通过不断的学习.充电才能跟上行业发展的步伐,获得职业的提升,而这也引发了国内教育市场的爆炸式发展.据统计 ...
- 微信智慧KTV上线 不怕周末订不到包厢了
周末邀三五好友唱唱歌是件惬意的事,可订包厢是个烦心事,总是people mountain people sea,而且价格比平时高出不少.现在好了,微信智慧KTV上线了,将有效解决传统KTV收银时间集中 ...
随机推荐
- 【JZOJ4910】【NOIP2017模拟12.3】子串
题目描述 数据范围 =w= 暴力: 从前往后枚举一个i,再从前往后枚举一个j: 如果s[i]不是s[j]的子串,更新答案,继续枚举: 如果s[i]是s[j]的子串,停止枚举. 因为对于s[k] (k& ...
- 【JZOJ4761】【NOIP2016提高A组模拟9.7】鼎纹
题目描述 输入 输出 样例输入 2 3 4 4 2 1100 0110 1100 10 01 10 00 2 2 2 2 11 11 01 10 样例输出 YES NO 数据范围 解法 由于鼎纹中的第 ...
- Leetcode821.Shortest Distance to a Character字符的最短距离
给定一个字符串 S 和一个字符 C.返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例 1: 输入: S = "loveleetcode", C ...
- LeedCode OJ -- String to Integer (atoi)
点击打开题目链接 题目意思就是自己实现一个atoi函数,也就是将字符串转换成int型. 关于INT_MAX和INT_MIN, 只是在<limits.h>文件中定义的宏..分别是int型可以 ...
- 【JZOJ4824】【NOIP2016提高A组集训第1场10.29】配对游戏
题目描述 流行的跳棋游戏是在一个有m*n个方格的长方形棋盘上玩的.棋盘起初全部被动物或障碍物占满了.在一个方格中,'X'表示一个障碍物,一个'0'-'9'的个位数字表示一个不同种类的动物,相同的个位数 ...
- [考试维护]之IIS发布 标签: iis 2015-06-07 22:11 627人阅读 评论(18) 收藏
考试维护也进行了一段时间了,总结一下这段时间学习到的东西,今天写一下在服务器上如何发布IIS,一开始,我们准备了两台服务器,一台Win Server2003的服务器(IIS版本6.0),另一台是Win ...
- H5页面IOS中键盘弹出导致点击错位的问题
IOS在点击输入框弹出键盘 键盘回缩 后 定位没有相应改变 还有 textarea 也会弹出键盘 $("input").blur(function() { console.l ...
- 1月房地产企业销售TOP100出炉 万科重回第一
1月房地产企业销售TOP100出炉 万科重回第一 2017-02-05 07:40:32 来源:腾讯新闻 责任编辑: [摘要]TOP100房企1月的销售金额合计4311.8亿元,销售面积合计3648. ...
- 前端知识---html
HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏 ...
- python小数据池 is和 == 再谈编码
1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == ...