ccf-炉石传说-201609-3
大概是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的更多相关文章
- CCF 炉石传说(模拟)
试题编号: 201612-3 试题名称: 炉石传说 时间限制: 1.0s 内存限制: 256.0MB 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Wa ...
- CCF CSP 201609-3 炉石传说
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...
- [原创]webapp/css3实战,制作一个《炉石传说》宣传页
在移动网页,尤其是webapp中常需要用到大量的css3动画,来获得良好交互体验 我之前帮朋友做了一个,可惜没帮上忙现在和大家分享一下 目标是要做一个<炉石传说>游戏的介绍宣传页面,文字内 ...
- 炉石传说 C# 开发笔记(6月底小结)
炉石传说的开发,已经有30个工作日了. 关于法术的定义方法,有过一次重大的变更:法术效果是整个炉石的核心,正是因为丰富的法术效果,才造就了炉石的可玩性. 原来构思的时候,对于法术效果没有充分的理解,所 ...
- 炉石传说 C# 开发笔记 (续)
炉石传说山寨的工作一直在进行着,在开发过程中深深体会到,对于业务的理解和整个程序的架构的整理远比开发难得多. 在开发过程中,如果你的模型不合理,不准确,很有可能造成代码的混乱,冗余,难以维护和扩展性比 ...
- 炉石传说 C# 开发笔记
最近在大连的同事强力推荐我玩 炉石传说,一个卡牌游戏.加上五一放一个很长很长的假期,为了磨练自己,决定尝试开发一个C#的炉石传说. 这件事情有人已经干过了,开发了一个网页版的炉石,但是貌似不能玩... ...
- 炉石传说__multiset
炉石传说 Problem Description GG学长虽然并不打炉石传说,但是由于题面需要他便学会了打炉石传说.但是传统的炉石传说对于刚入门的GG学长来说有点复杂,所以他决定自己开发一个简化版 ...
- 《炉石传说》建筑设计欣赏(6):卡&在执行数据时,组织能力
上一篇文章我们看到了<炉石传说>核心存储卡的数据,今天,我们不断探索卡&身手. 基本的类 通过之前的分析,卡牌&技能涉及到几个类体系:Entity.Actor.Card.S ...
- fzu Problem - 2232 炉石传说(二分匹配)
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2232 Description GG学长虽然并不打炉石传说,但是由于题面需要他便学会了打炉石传说.但是传统的炉石 ...
- islands打炉石传说<DP>
islands最近在完一款游戏"炉石传说",又名"魔兽英雄传".炉石传说是一款卡牌类对战的游戏.游戏是2人对战,总的来说,里面的卡牌分成2类,一类是法术牌,另一 ...
随机推荐
- 简单的epub制作
最近在无聊看轻小说的时候,找到了一套叫<白银龙王的摇篮>的书. 台版一共出了6卷,并且wenku8都已经录入了,但是轻国的epub录入只有2卷. 我寻思着做epub也不是什么难事,就稍微百 ...
- 利用Delphi编写Socket通信程序
一.Delphi与Socket 计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议.TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登 ...
- 无界鼠标 Mouse Without Borders
最近遇到一个不爽的事,单位的办公电脑,配置低,自带笔记本电脑,屏幕小. 在给自己的笔记本电脑外接了22寸显示器以后,屏幕是舒服了很多,而且外接了微软的人机工学键鼠套装,加上自己的伪人机工学椅,舒适性确 ...
- 关注Yumiot公众号,了解最新的物联网资讯
Yumiot,专注于物联网行业,每天不定期推送最新的物联网行业新闻.详情请用微信搜索关注 yumiot .
- Windows下PyMC安装
先安装Anaconda2 然后conda install -c https://conda.binstar.org/pymc pymc
- c#@三种作用
以前只知道@在C#中为了写文件路径的\不要加转义符而在前面加上@标识符,没想到@还有其他的作用 1.忽略转义字符例如string fileName = "D:\\文本文件\\text.txt ...
- Linux系统调用列表(转)
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完 ...
- 三张图搞懂JavaScript的原型对象与原型链
对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张 ...
- L345 大脑复生
Yale Researchers Build BrainEx Machine to Restore Brain Function After Death Researchers at Yale Uni ...
- pandas 常用函数