I Love Military Chess

Accepted : 45   Submit : 141
Time Limit : 1000 MS  

Memory Limit : 65536 KB

题目描写叙述

陆军棋,又称陆战棋,简称军棋。是中国近代的一种两人棋类,设计依据军队中的军阶。

每一方有25枚棋子。先夺得对方军旗者为胜。

棋子

每一方的棋子为25枚。包含:

军阶高低 棋子名称 各方枚数 特殊能力
1 司令 1
2 军长 1
3 师长 2
4 旅长 2
5 团长 2
6 营长 2
7 连长 3
8 排长 3
9 工兵 3 铁路上格数不限并可转弯,攻击胜过地雷
M 地雷 3 不能移动,胜过其它一切攻击棋子,工兵/炸弹除外
B 炸弹 2 遇到敌方棋子皆同归于尽,军旗也不例外
F 军旗 1 不能移动,被攻击则拥有者输掉游戏

胜负一览

司令 > 军长 > 师长 > 旅长 > 团长 > 营长 > 连长 > 排长 > 工兵

炸弹与不论什么棋子相遇时,两方都消失

工兵 > 地雷

地雷 > 除炸弹和工兵以外的不论什么子粒

题目要求

请你帮忙推断两个棋子相碰时,谁出局。

输入

多组測试数据,每组数据占一行

每行有两个数字或字母,之间用空格隔开,表示前者经过移动。与后者相碰。

1 表示司令
2 表示军长
3 表示师长
4 表示旅长
5 表示团长
6 表示营长
7 表示连长
8 表示排长
9 表示工兵
M 表示地雷
B 表示炸弹
F 表示军旗

输出

对于每组数据输出一行,为两人的官阶比較结果

1 表示前者官阶比后者大

-1 表示前者官阶比后者小

0 表示两人同归于尽

Error 表示出错(军旗和地雷不能主动移动)

Bingo 表示前者获得胜利(扛取对方军旗)

例子输入

1 2
B M
9 1
B F
1 F
M 1
F 1

例子输出

1
0
-1
Bingo
Bingo
Error
Error

第二次小组赛,这次选题是湘潭市13年的比赛题。这次我们也仅仅做出了三个题。感觉两个还是模拟的题,一个题是穷举过的。。。

哎。。

模拟感觉就是要模拟题目所给的题意,要先把题目看完。题意搞懂,感觉一般题目会非常长,要认真分析一下。哪些状态比較特殊的我们就优先考虑,把题目给的情况都考虑到就差点儿相同啦;

以下是ac的代码:

#include <stdio.h>
#include <cstring>
int main()
{
char a,b;
while(scanf("%c %c",&a,&b)!=EOF)
{
getchar();
if(a=='M' || a=='F')//这就是出错的情况
{
printf("Error\n");
continue;
}
else if(b=='F')//获胜的情况
{
printf("Bingo\n");
continue;
}
else if(a=='B'||b=='B')//两方都消失的情况
{
printf("0\n");
continue;
}
else if(b=='M')//对是M(地雷)分情况考虑
{
if(a=='9')
{
printf("1\n");
continue;
}
else if(a=='B')
{
printf("0\n");
continue;
}
else
{
printf("-1\n");
continue;
}
}
else if(a>'0'&&a<'10'&&a<b)//比較大小,普通的情况
{
printf("1\n");
continue;
}
else if(a>'0'&&a<'10'&&a>b)
{
printf("-1\n");
continue;
}
else if(a==b)
{
printf("0\n");
continue;
}
}
return 0;
}

感觉这道题应该是去年的签到题,能做出来的还仅仅是这些简单题啊,能把如今自己能做出来的题目都做出来就不错啦!

。加油!!

XTUOJ 1176 I Love Military Chess(模拟)的更多相关文章

  1. Codeforces Round #379 (Div. 2) D. Anton and Chess 模拟

    题目链接: http://codeforces.com/contest/734/problem/D D. Anton and Chess time limit per test4 secondsmem ...

  2. D. Anton and Chess 模拟题 + 读题

    http://codeforces.com/contest/734/problem/D 一开始的时候看不懂题目,以为象是中国象棋那样走,然后看不懂样例. 原来是走对角线的,长知识了. 所以我们就知道, ...

  3. Chess 模拟

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=6114 Problem Description 車是中国象棋中的一种棋子,它能攻击同一行或同一列中没有其他棋 ...

  4. Codeforces Round #157 (Div. 2)

    A. Little Elephant and Chess 模拟. B. Little Elephant and Magic Square 枚举左上角,计算其余两个位置的值,在\(3\times 3\) ...

  5. hihoCoder 1392 War Chess 【模拟】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)

    #1392 : War Chess 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Rainbow loves to play kinds of War Chess gam ...

  6. codeforces 893A Chess For Three 模拟

    893A Chess For Three 思路: 直接模拟即可,第一盘永远是A与B开始 代码: #include <bits/stdc++.h> using namespace std; ...

  7. Educational Codeforces Round 33 (Rated for Div. 2) A. Chess For Three【模拟/逻辑推理】

    A. Chess For Three time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  8. Codeforces 734D. Anton and Chess(模拟)

    Anton likes to play chess. Also, he likes to do programming. That is why he decided to write the pro ...

  9. 20180520模拟赛T3——chess

    [问题描述] 小美很喜欢下象棋. 而且她特别喜欢象棋中的马. 她觉得马的跳跃方式很独特.(以日字格的方式跳跃) 小芳给了小美一张很大的棋盘,这个棋盘是一个无穷的笛卡尔坐标. 一开始\(time=0\) ...

随机推荐

  1. Java EE 学习:使用 idea2017 搭建 SSM 框架

    需要准备的环境: idea 2017.1 jdk1.8 Maven 3.3.9 请提前将idea与Maven.jdk配置好,本次项目用的都是比较新的 步骤: 一.首先使用idea新建一个Maven w ...

  2. cf 701 E - Connecting Universities

    Descrition 给你一颗\(n\le 2*10^5\)个点的树, 有\(2*k(2k\le n)\)座大学座落在点上 (任二大学不在同一个点) 求一种两两匹配的方案, 使得距离和最大 即\[ma ...

  3. 【NOIP2009】最优贸易

    描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通 ...

  4. 自动合并多个文件如js css等 可以增加效率

    原文发布时间为:2011-01-13 -- 来源于本人的百度文章 [由搬家工具导入] 原文地址:http://www.codeproject.com/KB/aspnet/HttpCombine.asp ...

  5. 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法

    一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬 ...

  6. 小记——关于Tilemap图块索引编码

    图集 地图 TileMap 导出的 .Tmx 文件记录了地图所有信息,其中编辑好的图块信息会存放在每个图层的 Data 节点下.以下是一个 10x10 的图层,可以看到,Data 节点记录了每个图块对 ...

  7. Python学习杂记_3_字符串操作的常用方法

    字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...

  8. Day 32 process&threading_4

    线程和进程 4 一.multiprocessing模块 multiprocessing包是Python中的多进程管理包. 与threading.Thread类似,它可以利用multiprocessin ...

  9. 【C/C++】快速排序的两种实现思路

    方法一:不断填坑,一次确定一个值.http://blog.csdn.net/morewindows/article/details/6684558 #include<stdio.h> vo ...

  10. 用chardet判断字符编码的方法

    转自http://www.cnblogs.com/xiaowuyi/archive/2012/03/09/2387173.html 用chardet判断字符编码的方法   1.chardet下载与安装 ...