山东省第七届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 ...
随机推荐
- table边框和td的width失效
table元素有一个属性border,可设置table的边框.这个边框对内部元素有效. 不同于style:border,这个仅仅是外边框. table{ width:60%; border-colla ...
- http get 方式参数的长度限制<转>
http get 方式参数的长度限制 这个问题一直以来似乎是被N多人误解,其实Http Get方法提交的数据大小长度并没有限制,而是IE浏览器本身对地址栏URL长度有最大长度限制:2048个字符. 当 ...
- Oracle SQL Developer在进行查询的时候只显示50条数据
在查询结果大于50条的时候,软件默认会只显示50条,向下拉会继续显示. 想要显示所有结果的话,光标放在结果集:ctrl+End或者是ctrl+PgDn都可以.
- Qt 软件的发布
我们程序的Release版本正式发布需要将各种依赖的库文件一起打包. 有时候我们并不清楚具体依赖哪些库,这时,可以用Qt的一个工具"windeployqt" 比如,找到程序.exe ...
- js执行机制(1)
1.参考执行结果 setTimeout(function () { console.log('执行定时任务'); }); new Promise(function (resolve) { consol ...
- JavaScript eval_r() 函数
定义和用法 eval_r() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval_r(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 ...
- hivepython 实现一行转多行
案例1: ==效果等同于一行转多行 数据表名称:zhangb.gid_tags 数据格式,每行是2个字段,(gid,tags) ,可能有脏数据,分隔符为“\t”, ANDROID-9de77225 ...
- 逻辑斯蒂回归VS决策树VS随机森林
LR 与SVM 不同 1.logistic regression适合需要得到一个分类概率的场景,SVM则没有分类概率 2.LR其实同样可以使用kernel,但是LR没有support vector在计 ...
- MySql初步II
[MySql初步II] 1.Order By 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列. 默认情况下,它是按升排列. 实例: 2.Join语法 Join不是一个关键字 ...
- TOYS(叉积)
TOYS http://poj.org/problem?id=2318 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 193 ...