大概是CCF 第三题比较简洁的一道题吧

尽量设计好一个数据结构:

node t[2][10]: 存双方的英雄和随从

int    num[2]: 存隋朝的数量

用p来实现双方的切换,因为有统一 的接口,所以就不用分情况讨论,将两者看出统一

做了太多PAT ,想着双方同时死亡怎么办,后来想不可能 因为英雄的攻击力为0

再次吐槽,PAT真是太多吐槽点

#include <bits/stdc++.h>
using namespace std;
struct node {
int atk;
int hel;
};
node t[][];
int num[];
int p,n,flag;
void _formal (int player,int pos) {
if (pos==) {
if (player) flag=;
else flag=-;
return ;
}
for (int i=pos;i<num[player];i++)
t[player][i]=t[player][i+];
num[player]--;
}
void _insert (int pos,node tmp) {
for (int i=num[p];i>=pos;i--)
t[p][i+]=t[p][i];
t[p][pos]=tmp; num[p]++;
}
void _attack (int x,int y) {
int p1=p,p2=p^;
t[p1][x].hel-=t[p2][y].atk;
t[p2][y].hel-=t[p1][x].atk;
if (t[p1][x].hel<=) _formal (p1,x);
if (t[p2][y].hel<=) _formal (p2,y);
}
int main ()
{
cin>>n; t[][].hel=t[][].hel=;
while (n--) {
string str; cin>>str;
if (flag) continue;
if (str[]=='e') p^=;
else if (str[]=='s') {
int pos,h,a; cin>>pos>>h>>a;
node tmp={h,a}; _insert(pos,tmp);
}
else {
int x,y; cin>>x>>y;
_attack(x,y);
}
}
cout<<flag<<"\n";
p=;
for (int i=;i<=;i++) {
cout<<t[p][].hel<<"\n"<<num[p];
for (int j=;j<=num[p];j++)
cout<<" "<<t[p][j].hel;
cout<<"\n";
p^=;
}
return ;
}

ccf-炉石传说-201609-3的更多相关文章

  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. java----判断闰年和平年

    public class year{ public static void main(String[] args){ int year=2010; if((year%4==0&&yea ...

  2. 初学web前端

    菜鸟刚入门,说说最近学习的心得吧. 首先我学前端主要是因为前端可以看到一些东西,比较有趣 好玩.相比其他语言更简单一些 ,但是却没有那么枯燥. 刚刚开始学习前端肯定就是html+css了.我是混着学的 ...

  3. 六、Linux的用户和组

    1. 用户的管理 useradd 添加一个用户 useradd test 添加test用户 useradd test -d /home/t1  指定用户home目录 或者直接  adduser tes ...

  4. sed命令总结-Linux

    sed命令总结-Linux linuxsed 2018年02月08日 19时27分57秒 命令语法经常忘记,每次总是看笔记不切实际,记不起来的要多查manual,本次总结按照manual总结,希望下次 ...

  5. 数据库数据迁移 SqlServer复制到mysql

    经过一番搜索,有朋友推荐用datax的,后来发现比较麻烦,需要循环每个表去复制:有推荐用Navicat的,但是方式有点行不通,会报文件打不开:无法打开Provider=SQLNCLI10.1;Pers ...

  6. 关于xml的相关知识

     1 xml定义和用途  定义:XML (eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup ...

  7. egret中场景跳转的动画

    原理:创建一个截取当前场景的截图然后对截图进行bitmap处理加上tween.优点:无需任何图片,特效!适用于任何场景! //1.卷帘特效 //2.左右切换移动 //3.直接翻 //4.旋转掉落 // ...

  8. PLC之六部十层电梯整体框架

    1.基本框架 此图基于西门子杯逻辑控制赛项中电梯题目的变量表以及功能设计 1.I/O输入是指变量表中的input数字量,包括电梯所有的内呼按钮.外呼按钮.电梯平层开关等 2.逻辑处理是指根据相对应的输 ...

  9. List集合联系

    创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 a) 在li4 之前插入一个工人,信息 ...

  10. There/Here be句型

    (1)There/Here + (be)根据上下文, 有多种翻译方法,可以翻译成"有", "是". be动词根据后面的名词有单复数变化. There is a ...