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. 在react项目当中使用redux

    如果需要在你的react项目当中使用状态管理模式的话,需要引入redux和react-redux两个插件,redux提供基本的功能,react-redux提供将redux注入react的方法. imp ...

  2. 双倍回文(bzoj 2342)

    Description Input 输入分为两行,第一行为一个整数,表示字符串的长度,第二行有个连续的小写的英文字符,表示字符串的内容. Output 输出文件只有一行,即:输入数据中字符串的最长双倍 ...

  3. linux之参数实用讲解

    <1>linux文件参数 在Windows下是使用 %1 %2 %3 而在Linux下是使用   $1 $2  $3 ------------------- 如: 1.某bat文件 cd ...

  4. 【HDOJ5528】Count a * b(积性函数)

    题意:设f(i)为0<=x,y<=i-1且xy%i=0的(x,y)对数,g(i)为sigma f(j) [i%j==0] 给定n,求g(n),答案对2^64取模 T<=2e4,n&l ...

  5. FZU2187 回家种地(矩形面积并)

    矩形面积并(只覆盖一次的面积)的裸题.好久没写代码debug了我太久,太辛酸了. #pragma warning(disable:4996) #include <iostream> #in ...

  6. javascript 移动鼠标高亮显示改行

    主要用到两个事件 onmouseover onmouseout <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  7. hdu 4525(数学)

    威威猫系列故事——吃鸡腿 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  8. 关于main函数的参数

    #include <stdio.h> int main(int argc, char const *argv[]) { int i; for ( i = 0; i < argc; i ...

  9. LeetCode OJ-- Binary Tree Maximum Path Sum ***

    https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ 给一棵二叉树,路径可以从任一点起,到任一点结束,但是可以连成一个路径的.求 ...

  10. php 开发 错误汇总

    [问题]nginx thinkphp中 除首页外全显示404 Not Found,非rewrite问题,Linux+nginx环境 [解决方案]: 1.在nginx下重新支持pathinfo模式 2. ...