山东省第七届ACM竞赛 J题 Execution of Paladin (题意啊)
题意:鱼人是炉石里的一支强大种族,在探险者协会里,圣骑士有了一张新牌,叫亡者归来,效果是召唤本轮游戏中7个已死鱼人。如果死掉的不足7个,那么召唤的数量就会不足7。
鱼人有很多,下面的4个是:
寒光智者:3费,2攻,2血,战吼:双方玩家各抽2张牌。
鱼人领军:3费,3攻,3血,其他鱼人获得+2/+1。
蓝腮战士:2费,2攻,3血,冲锋。
老瞎眼:4费,2攻,3血,冲锋。战场上每有1个其他鱼人就会使其获得+1攻击。
下面给一些说明:
法力:召唤随从的消耗。技能效果召唤的随从不消耗额外法力,只会消耗卡牌本身法力,双方玩家最多有10点法力。
攻击:随从每次能造成的伤害。
战吼:拥有战吼效果的随从,在从手牌里打出时会触发这个效果。被技能召唤的随从不会触发战吼。
冲锋:本来,在召唤出来的这一轮,随从是无法攻击的,但是有冲锋就可以。在召唤回合可以直接攻击。
战场:战场(游戏盘),游戏各种内容发生的地方,每场游戏都发生在棋盘上。
+2/+1:+2攻击和+1血量。
现在,轮到你出牌了,你有10点法力,只剩一张亡者归来。战场上没有任何随从,意味着你的随从可以直接攻击对手英雄。你还记得你出过的鱼人,也知道对手英雄的血量,那你能够用手上唯一这张牌赢得胜利吗?
输入
多种测试方案,第1行包括 integer 7 (7<=22000);表示测试数量。
每个测试的第1行都包括2个integer,n(已死的鱼人,0<=n<=7),h(英雄血量,0
后续N行里,每行都包括string,表示已死鱼人名称,String只能为:“寒光智者”,“鱼人领军”,“蓝腮战士”,“老瞎眼”。
输出
列出所有方案后,如果能赢得游戏,那就输出"乌拉啦啦啦呱啦蛤蛤!"(没有引号),否则输出“跟你说个笑话:圣骑士的斩杀”。使用随从攻击敌人英雄,使其血量少于等于0即可胜利。
示例
输入 | 输出 |
3 3 1 寒光智者 寒光智者 鱼人领军 3 8 老瞎眼 老瞎眼 寒光智者 7 30 老瞎眼 蓝鳃战士 蓝鳃战士 鱼人领军 鱼人领军 寒光智者 寒光智者 |
讲个笑话:圣骑的斩杀 乌拉拉拉拉呱呱 讲个笑话:圣骑的斩杀 |
提示
第1个方案里,鱼人都无法攻击。
第2个方案里,每个老瞎眼都有+2攻击,因为另外的一个老瞎眼和寒光智者,因此总伤害为8。
最后一个方案里,老瞎眼有12攻击(2点基础攻击,6个其他随从;2个鱼人领军,2个蓝腮战士有6攻(2基础攻击,2个鱼人领军)因此总伤害是24)。
析:毛线啊,这个题,是什么啊,是炉石游戏的,如果没有玩的小伙伴可就惨了,因为这个题意特别不好理解,关键是要抠字眼。
主要是在这个冲锋,也就是说如果没有冲锋的鱼人,是无法攻击的,也就是说只有老瞎眼主蓝鳃战士是可以攻击的,别的都只能是提供技能而已,
寒光智者也没有技能,就只能充人数,不对应该是鱼数,因为对老瞎眼来说,对于其他每个鱼都能加一个攻击力,然后鱼人领军能给别鱼加2攻击力。
所以答案也就出来了,首先是老瞎眼和蓝鳃战士的攻击力+(n-1)*老瞎眼的个数,这是它的技能,再加上鱼人领军对老瞎眼和蓝鳃战士。
代码如下:
#include <iostream>
#include <cstdio>
#include <cstring> using namespace std;
const int maxn = 100;
char s[maxn]; int main(){
int T, n, m; cin >> T;
while(T--){
scanf("%d %d", &n,&m);
getchar();
int o = 0, b = 0, w = 0;
for(int i = 0; i < n; ++i){
gets(s);
if('B' == s[0]) ++b;
else if('M' == s[0]) ++w;
else if('O' == s[0]) ++o;
} int ans = (n-1) * o + 2 * (b+o) + 2*w * (o+b);
if(ans >= m) puts("Mrghllghghllghg!");
else puts("Tell you a joke, the execution of Paladin.");
}
return 0;
}
山东省第七届ACM竞赛 J题 Execution of Paladin (题意啊)的更多相关文章
- 山东省第七届ACM竞赛 C题 Proxy (Dijkstra算法,单源路径最短问题)
题意:给定0-n+1个点,和m条边,让你找到一条从0到n+1的最短路,输出与0相连的结点... 析:很明显么,是Dijkstra算法,不过特殊的是要输出与0相连的边,所以我们倒着搜,也是从n+1找到0 ...
- 山东省第七届ACM省赛------Memory Leak
Memory Leak Time Limit: 2000MS Memory limit: 131072K 题目描述 Memory Leak is a well-known kind of bug in ...
- 山东省第七届ACM省赛------Reversed Words
Reversed Words Time Limit: 2000MS Memory limit: 131072K 题目描述 Some aliens are learning English. They ...
- 山东省第七届ACM省赛------The Binding of Isaac
The Binding of Isaac Time Limit: 2000MS Memory limit: 65536K 题目描述 Ok, now I will introduce this game ...
- 山东省第七届ACM省赛------Fibonacci
Fibonacci Time Limit: 2000MS Memory limit: 131072K 题目描述 Fibonacci numbers are well-known as follow: ...
- 山东省第七届ACM省赛------Triple Nim
Triple Nim Time Limit: 2000MS Memory limit: 65536K 题目描述 Alice and Bob are always playing all kinds o ...
- 山东省第七届ACM省赛------Julyed
Julyed Time Limit: 2000MS Memory limit: 65536K 题目描述 Julyed is preparing for her CET-6. She has N wor ...
- 山东省第七届ACM省赛
ID Title Hint A Julyed 无 B Fibonacci 打表 C Proxy 最短路径 D Swiss-system tournament 归并排序 E The Binding of ...
- 山东省第七届省赛 D题:Swiss-system tournament(归并排序)
Description A Swiss-system tournament is a tournament which uses a non-elimination format. The first ...
随机推荐
- webserive学习记录2-cxf框架基础使用
cxf是一个webservice的框架,类似的还有axis,下面说一下cxf的基本使用. 首先要下载cxf的文件,然后要在项目中引入jar包,当然也可以通过maven进行管理.我用的是最新的3.2.1 ...
- redis启动.停止.重启
Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8.17.tar.g ...
- 再识ASCII实体、符号实体和字符实体
一.前言 相信大家都熟悉通过字符实体 来实现多个连续空格的输入吧!本文打算对三类HTML实体及JS相关操作作进一步的整理和小结,若有纰漏请大家指正,谢谢. 二.初识HTML实 ...
- JDK、JRE和JAR区别(转载)
JDK里面的工具也是用Java编写的,它们本身运行的时候也需要一套JRE,如C:/Program Files/Java/jdk1.5.x/目录下的JRE.而C:/Program Files/Java/ ...
- 201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。
这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的 ...
- zabbix3.2的server和zabbix-agent2.2怎么监控MySQL的办法
zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控,zabbix自带的模板完全能够满足要求:如果有更高的需求那 ...
- Java8 lambda表达式语法 1
本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化.本文是该系列的第一篇, ...
- for of 与 for in 的区别
遍历数组通常使用for循环,ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map.filter.some.every.reduce.reduceRight等,只不过他们的返回结果不一 ...
- Python3 range() 函数用法
Python3 range() 函数用法 Python3 内置函数 Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表. Pyth ...
- Java finalize以及Garbage Collection
Java的垃圾回收机制: Java的垃圾回收并不等于C++中的析构.Java中,只有在程序濒临存储空间用完的那一刻,对象占用的空间才会释放.所以,在JAVA程序中,我们通常只考虑创建对象,而从不关心对 ...