#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. PHP实现动态获取函数参数的方法

    1. func_num_args — 返回传入函数的参数总个数 int func_num_args ( void ) 示例 <?php function demo () { $numargs = ...

  2. java和python对比----1:

    对计算来说: java 除法: 3/4 ==0; pyhton 除法: 3/4 ==0 3//4==0.75

  3. Jmeter中使用外部的java文件

    感觉在Jmeter中使用外部的Java文件比较方便,语法一样,而且可以直接引用,所以个人觉得这个功能还是蛮重要的,特别是在使用Jmeter的过程中,可能需要结合一定的业务场景进行判断等,那使用Jmet ...

  4. AI-认证

    AI-认证 做登录验证 #models.py class Users(models.Model): user=models.CharField(max_length=32) pwd=models.Ch ...

  5. 20165206第4次实验《Android程序设计》实验报告

    20165206第4次实验<Android程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教师:娄嘉鹏 实验日期:2 ...

  6. C#正则Groups高级使用方法

    正则表达式号称开发者得瑞士军刀,使用好正则表达式尤其重要. 拆分多个正则: public static string[] SplitByManyRegex(string text, string[] ...

  7. 【C++ Primer | 07】常用算法

    第一部分 常用泛型算法: find(beg, end, val); equal(beg1, end1, beg2); fill(beg, end, val); fill_n(beg, cnt, val ...

  8. Mongodb for .Net Core 封装类库

    一:引用的mongodb驱动文件版本为 Mongodb.Driver 20.4.3 二:我只是进行了常用方法的封装,如有不当之处,请联系我 创建mongodb的连接 using MongoDB.Bso ...

  9. Git基础(二) 文件的生命周期

    使用Git时,文件的生命周期如下:

  10. 【BZOJ1095】【ZJOI2007】捉迷藏 [动态点分治]

    题解: 好像还是比较简单的 对每个重心向下一层重心连边 树高是log的 我们对每一层维护两个信息 1.所有节点到上一层重心的距离 2.所有儿子的1堆的堆顶 另外开个总的堆 维护每一层最长+次长 修改是 ...