CCF-CSP题解 201609-3 炉石传说
模拟。
注意随从的编号在\(summon\)和\(attack\)随从死亡时都可能改变。
#include <bits/stdc++.h>
using namespace std;
struct tNode
{
int attack;
int health;
};
tNode aPlayer[8];
tNode bPlayer[8];
int aM = 0, bM = 0;
int aHealth = 30, bHealth = 30;
int main()
{
int n;
scanf("%d", &n);
int player = 1;
char op[30];
while (n--)
{
scanf("%s", op);
if (op[0] == 's')
{
int pos, attack, health;
scanf("%d%d%d", &pos, &attack, &health);
if (player == 1)
{
for (int i = aM + 1; i >= pos + 1; i--)
aPlayer[i] = aPlayer[i - 1];
aPlayer[pos].attack = attack;
aPlayer[pos].health = health;
aM++;
}
else
{
for (int i = bM + 1; i >= pos + 1; i--)
bPlayer[i] = bPlayer[i - 1];
bPlayer[pos].attack = attack;
bPlayer[pos].health = health;
bM++;
}
}
else if (op[0] == 'a')
{
int attacker, defender;
scanf("%d%d", &attacker, &defender);
if (player == 1)
{
if (defender == 0)
{
bHealth -= aPlayer[attacker].attack;
}
else
{
aPlayer[attacker].health -= bPlayer[defender].attack;
bPlayer[defender].health -= aPlayer[attacker].attack;
if (aPlayer[attacker].health <= 0)
{
for (int i = attacker; i <= aM - 1; i++)
aPlayer[i] = aPlayer[i + 1];
aM--;
}
if (bPlayer[defender].health <= 0)
{
for (int i = defender; i <= bM - 1; i++)
bPlayer[i] = bPlayer[i + 1];
bM--;
}
}
}
else
{
if (defender == 0)
{
aHealth -= bPlayer[attacker].attack;
}
else
{
aPlayer[defender].health -= bPlayer[attacker].attack;
bPlayer[attacker].health -= aPlayer[defender].attack;
if (aPlayer[defender].health <= 0)
{
for (int i = defender; i <= aM - 1; i++)
aPlayer[i] = aPlayer[i + 1];
aM--;
}
if (bPlayer[attacker].health <= 0)
{
for (int i = attacker; i <= bM - 1; i++)
bPlayer[i] = bPlayer[i + 1];
bM--;
}
}
}
}
else
{
player *= -1;
}
}
if (aHealth <= 0 || bHealth <= 0)
printf("%d\n", player);
else
printf("0\n");
printf("%d\n", aHealth);
printf("%d", aM);
for (int i = 1; i <= aM; i++)
printf(" %d", aPlayer[i].health);
printf("\n");
printf("%d\n", bHealth);
printf("%d", bM);
for (int i = 1; i <= bM; i++)
printf(" %d", bPlayer[i].health);
printf("\n");
return 0;
}
CCF-CSP题解 201609-3 炉石传说的更多相关文章
- CCF CSP 201609-3 炉石传说
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...
- CCF 炉石传说(模拟)
试题编号: 201612-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Wa ...
- 炉石传说__multiset
炉石传说 Problem Description GG学长虽然并不打炉石传说,但是由于题面需要他便学会了打炉石传说.但是传统的炉石传说对于刚入门的GG学长来说有点复杂,所以他决定自己开发一个简化版 ...
- CCF CSP 201703-3 Markdown
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...
- CCF CSP 201312-3 最大的矩形
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...
- CCF CSP 201403-3 命令行选项
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...
- CCF CSP 201709-4 通信网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...
- CCF CSP 201409-3 字符串匹配
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-3 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那 ...
- CCF CSP 201503-3 节日
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-3 节日 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形 ...
- CCF CSP 201509-2 日期计算
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? ...
随机推荐
- 关于手机微信端ios的input不能选中问题解决方案
最近在做一个微信端的商城,以前做web端的比较多,手机端做的相对来说要少点,老板说让我用俗称”靠谱的移动前端框架”—-AUI来搭建项目. 当时觉得用不用框架无所谓啦.结果后来写到一半把项目发布到手机上 ...
- PHP-会话控制Cookie和Session
会话控制:就是为了我们在访问页面和页面之间的跳转是,能够识别到你的登录状态,已经你的登录时长等 在php的会话控制当中,涉及到两个概念Cookie和Session Cookie 会话控制 原理:在登录 ...
- tomcat启动窗口出现乱码
tomcat启动窗口出现乱码 或者 idea运行服务器tomcat出现乱码 在tomcat的启动窗口打印的启动信息中包含了大量的中文乱码, 虽然这些对tomcat本身的使用没有任何影响,但却非 ...
- [Odoo12基础教程]之第一篇-创建Todo应用
声明: 本教程基于 Ruter 老师的 [Odoo基础教程系列] ,Ruter老师教程的链接地址为:Odoo基础教程系列 . 至于为什么已经有了Ruter老师的教程,还要自己再搬移一份呢?是基于一 ...
- PL真有意思(六):子程序和控制抽象
前言 在之前我们把抽象定义为一种过程,程序员可以通过它将一个名字与一段可能很复杂的程序片段关联起来.抽象最大的意义就在于,我们可以从功能和用途的角度来考虑它,而不是实现. 在大多数程序设计语言中,子程 ...
- 从Excel到Python:最常用的36个Pandas函数
本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗.预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作. 生成数据表 常见的生成数据表的方法有两 ...
- 英语口语考试资料Friendships
Friendships Remember Friendships can be complicated. When you want to get to know someone, it helps ...
- Echarts自定义折线图例,增加选中功能
用Echarts图表开发,原本的Echarts图例不一定能满足我们的视觉要求. 下面是Echarts 折线图自定义图例,图例checked选中,相应的折线线条会随之checked,其余未选中的图例对应 ...
- C++ 入门第一篇 Hello Word
C++基础教程 ...
- 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】
[写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...