#include<cstdio>
typedef struct
{
int attack,health;
} cus; cus info[][];
int aliv[];
int player = ; void summon();
void attack();
void solven();
void del(int,int);
//void init(); int main()
{
int n=;
char order[];
//init();
scanf("%d",&n);
info[][].health = ;
info[][].health = ;
while(n--)
{
scanf("%s",order);
if(order[] == 'e')
player = !player;
else if(order[] == 's')
summon();
else if(order[] == 'a')
attack();
}
solven();
} void summon()
{
int p,a,h;
scanf("%d%d%d",&p,&a,&h);
++aliv[player];
for(int i=aliv[player]; i>p; --i)
{
info[player][i].attack = info[player][i-].attack;
info[player][i].health = info[player][i-].health;
}
info[player][p].attack = a;
info[player][p].health = h;
//init();
} void attack()
{
int p1,p2;
scanf("%d%d",&p1,&p2);
if(p2 != )
{
info[player][p1].health -= info[(!player)][p2].attack;
info[(!player)][p2].health -= info[player][p1].attack;
if(info[player][p1].health < )
del(player,p1);
if(info[(!player)][p2].health <)
del((!player),p2);
}
else
info[(!player)][p2].health -= info[player][p1].attack;
//init();
} void solven()
{
//init();
int num;
if(info[][].health < && info[][].health > )
printf("-1\n");
else if(info[][].health < && info[][].health > )
printf("1\n");
else
printf("0\n"); printf("%d\n%d",info[][].health,aliv[]);
for(int i=; i<=aliv[]; ++i)
printf(" %d",info[][i].health);
printf("\n"); printf("%d\n%d",info[][].health,aliv[]);
for(int i=; i<=aliv[]; ++i)
printf(" %d",info[][i].health);
printf("\n");
} void del(int x,int p)
{
for(int i=p; i<aliv[x]; ++i)
{
info[x][i].attack = info[x][i+].attack;
info[x][i].health = info[x][i+].health;
}
info[x][aliv[x]].attack = ;
info[x][aliv[x]].health = ;
--aliv[x];
} /*void init()
{
puts("\n*************************");
puts("player1's attack:");
for(int i=0; i<8; ++i)
printf("%d ",info[0][i].attack);
puts(""); puts("player1's health:");
for(int i=0; i<8; ++i)
printf("%d ",info[0][i].health);
puts(""); puts("player2's attack:");
for(int i=0; i<8; ++i)
printf("%d ",info[1][i].attack);
puts(""); puts("player2's health:");
for(int i=0; i<8; ++i)
printf("%d ",info[1][i].health);
puts("");
puts("*************************\n");
}*/

CCF-炉石传说的更多相关文章

  1. CCF 炉石传说(模拟)

    试题编号: 201612-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Wa ...

  2. CCF CSP 201609-3 炉石传说

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...

  3. [原创]webapp/css3实战,制作一个《炉石传说》宣传页

    在移动网页,尤其是webapp中常需要用到大量的css3动画,来获得良好交互体验 我之前帮朋友做了一个,可惜没帮上忙现在和大家分享一下 目标是要做一个<炉石传说>游戏的介绍宣传页面,文字内 ...

  4. 炉石传说 C# 开发笔记(6月底小结)

    炉石传说的开发,已经有30个工作日了. 关于法术的定义方法,有过一次重大的变更:法术效果是整个炉石的核心,正是因为丰富的法术效果,才造就了炉石的可玩性. 原来构思的时候,对于法术效果没有充分的理解,所 ...

  5. 炉石传说 C# 开发笔记 (续)

    炉石传说山寨的工作一直在进行着,在开发过程中深深体会到,对于业务的理解和整个程序的架构的整理远比开发难得多. 在开发过程中,如果你的模型不合理,不准确,很有可能造成代码的混乱,冗余,难以维护和扩展性比 ...

  6. 炉石传说 C# 开发笔记

    最近在大连的同事强力推荐我玩 炉石传说,一个卡牌游戏.加上五一放一个很长很长的假期,为了磨练自己,决定尝试开发一个C#的炉石传说. 这件事情有人已经干过了,开发了一个网页版的炉石,但是貌似不能玩... ...

  7. 炉石传说__multiset

     炉石传说  Problem Description GG学长虽然并不打炉石传说,但是由于题面需要他便学会了打炉石传说.但是传统的炉石传说对于刚入门的GG学长来说有点复杂,所以他决定自己开发一个简化版 ...

  8. 《炉石传说》建筑设计欣赏(6):卡&amp;在执行数据时,组织能力

    上一篇文章我们看到了<炉石传说>核心存储卡的数据,今天,我们不断探索卡&身手. 基本的类 通过之前的分析,卡牌&技能涉及到几个类体系:Entity.Actor.Card.S ...

  9. fzu Problem - 2232 炉石传说(二分匹配)

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=2232 Description GG学长虽然并不打炉石传说,但是由于题面需要他便学会了打炉石传说.但是传统的炉石 ...

  10. islands打炉石传说<DP>

    islands最近在完一款游戏"炉石传说",又名"魔兽英雄传".炉石传说是一款卡牌类对战的游戏.游戏是2人对战,总的来说,里面的卡牌分成2类,一类是法术牌,另一 ...

随机推荐

  1. (批量更新)对多个符合条件的id做更新操作

    需求描述:把checkbox勾选的对应id的记录的标志位置1或0,这个其实不难的,不过我自己做的话,肯定是多次访问数据库做更新,看了老大的代码,发现差距不是一般的大,老大把sql灵活运用,结果一次访问 ...

  2. Penetration testing _internal & wireless Penetration Testing

    第一部分 渗透测试步骤 ---参考资料  Ethical Hacking: The Value of Controlled Penetration Tests  下载地址  链接:https://pa ...

  3. Winhex数据恢复学习笔记(三)

    上次对文件系统进行简单的分析,这次就文件的镜像功能做一介绍 1.首先镜像的概念:镜像就是数据的副本,是原来数据在相同位置上以相同的排列模式生成的拷贝,所以镜像可以用来还原原始数据,代替原始数据工作,镜 ...

  4. python发送邮件(在邮件中显示HTMLTestRunner生成的报告)

    import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart f ...

  5. C++ Primer 笔记——异常处理

    1.栈展开过程沿着嵌套函数的调用链不断查找,直到找到了与异常匹配的catch句子为止,或者也可能一直没找到匹配的catch,则程序将调用terminate,退出主函数后查找过程终止.假设找到了一个ca ...

  6. Java装饰者模式

    定义:在不改变原有对象的基础上,将功能附加到对象自上 提供了比继承更有弹性的替代方案(扩展原有对象功能) 类型:结构型 扩展一个类的功能或给一个类添加附加职责 动态的给一个对象添加功能,这些功能可以再 ...

  7. 期货大赛项目|二,DAL详解

    接口层就不重点讲述了,直接DAL层 DAL层 using System; using System.Collections.Generic; using System.Linq; using Syst ...

  8. C# 文件拖放到此程序的操作

       问题描述: 怎么写代码可以实现指定类型的文件通过鼠标拖放显示在程序的文本框中,如:选中3个文件(3个文件的格式有MP3和wma)拖到程序,程序的文本框显示这三个文件的路径...解决代码: thi ...

  9. Python 面向对象3-类变量与实例变量

    #!/usr/bin/env python # -*- coding:utf-8 -*- # 作者:Presley # 邮箱:1209989516@qq.com # 时间:2018-08-05 # O ...

  10. Codeforces 1000G Two-Paths 树形动态规划 LCA

    原文链接https://www.cnblogs.com/zhouzhendong/p/9246484.html 题目传送门 - Codeforces 1000G Two-Paths 题意 给定一棵有 ...