【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收银时间集中 ...
随机推荐
- DirectX11 With Windows SDK--11 混合状态
原文:DirectX11 With Windows SDK--11 混合状态 前言 这一章会着重讲述混合状态,在下一章则会讲述深度/模板状态 DirectX11 With Windows SDK完整目 ...
- F4NNIU 整理的 docker-compose 几个常用命令
F4NNIU 整理的 docker-compose 几个常用命令 up 创建并启动一个容器. 记录一下,如果已经有容器,up 和 start 都可以启动容器,up 可以看到调试窗口,但是 start ...
- js错误处理Try-catch和throw
1.try-catch语句 Try{ //可能会导致错误的代码 }catch(error){ //在错误发生时怎么处理 } 例如: try{ window.someNonexistentFunct ...
- 实现一个简易的promise
//promise里面只有三个状态,且三个状态的转换形式有两种 //由pending转换为fulfilled,由pending转换为rejected //Promise的构造函数参数是一个函数,函数的 ...
- sql常用内置函数
用于测试的表: 一.SUM 返回数值列的总数. 执行查询: select SUM(Score) as 总得分 from Students 效果: 二.MAX 返回一列中的最大值.. 执行查询: sel ...
- 捕捉WPF应用程序中XAML代码解析异常
原文:捕捉WPF应用程序中XAML代码解析异常 由于WPF应用程序中XAML代码在很多时候是运行时加载处理的.比如DynamicResource,但是在编译或者运行的过程中,编写的XAML代码很可能有 ...
- 微服务开源生态报告 No.1
从关注开源,到使用开源,再到参与开源贡献,越来越多的国内开发者通过开源技术来构建业务. 截止目前,Arthas / Dubbo / ChaosBalde / Nacos / RocketMQ / Se ...
- @loj - 2496@ 「AHOI / HNOI2018」毒瘤
目录 @description@ @solution@ @accepted code@ @details@ @description@ 从前有一名毒瘤. 毒瘤最近发现了量产毒瘤题的奥秘.考虑如下类型的 ...
- laravel中如何实现验证码验证及使用
开发环境: laravel5.5 php7.1.11 mysql 验证码 是防止恶意破解密码.刷票.论坛灌水.刷页的手段.验证码有 多种类型. 现在我给大家实现如何使用图片验证码,其原理是让用户输入一 ...
- deepin golang微服务搭建go-micro环境
1.安装micro 需要使用GO1.11以上版本 #linux 下 export GO111MODULE=on export GOPROXY=https://goproxy.cn # 使用如下指令安装 ...