【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收银时间集中 ...
随机推荐
- Directx教程(30) 如何保证渲染物体不会变形
原文:Directx教程(30) 如何保证渲染物体不会变形 在Directx11教程(6)中, 我们曾经实现过这个功能,但那时是在SystemClass中,处理WM_SIZE时候,重新调用m ...
- Leetcode824.Goat Latin山羊拉丁文
给定一个由空格分割单词的句子 S.每个单词只包含大写或小写字母. 我们要将句子转换为 "Goat Latin"(一种类似于 猪拉丁文 - Pig Latin 的虚构语言). 山羊拉 ...
- Python2.7下,调用subprocess启动子进程,读取子进程标准输出若干问题
1:如果调用的子进程也是一个python脚本,则subprocess.Popen中的bufsize=1无效果.也就是说,即使设置了bufsize=1表示进行行缓冲,子进程如果不显示调用sys.stdo ...
- Linux上编辑然后执行一段脚本的机制
简要分析下刚开始提出的第二个问题, 因为没看代码,所以只是简单流程 1. 在bash里打开vim编辑文件并保存退出: bash进程fork子进程, 然后调用exec装入vim程序,wait这个子进程v ...
- js函数易犯的错误
1.定义一个js函数时不能写在另一个函数里面. 2.定义一个打开网页自动执行的函数,一定要注意加载的顺序.如果是不是自动执行的,而是等页面加载完后事件触发的,那写在任何地方都没问题. 错误的:
- 「WC2018」即时战略
「WC2018」即时战略 考虑对于一条链:直接随便找点,然后不断问即可. 对于一个二叉树,树高logn,直接随便找点,然后不断问即可. 正解: 先随便找到一个点,问出到1的路径 然后找别的点,考虑问出 ...
- 错误信息:FATAL: No bootable medium found! System halted.
一.解决方法 先上1张图,显示的错误信息 再上2张图,幸好在之前安装了XP系统,不然还真不好解决.从图中可以看出WIN-XP和Linux系统安装好之后的差异,Linux的的存储信息上显示“第二通道没有 ...
- iOS:学习runtime的理解和心得
http://www.cocoachina.com/ios/20150901/13173.html 作者:兴宇是谁 授权本站转载. Runtime是想要做好iOS开发,或者说是真正的深刻的掌握OC这门 ...
- jq获取浏览器可视窗口的高度
<script> var window_height = $(window).height(); </script>
- shell学习(17)- shell中2>&1的解释及输入输出重定向
大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...