XTUOJ 1176 I Love Military Chess(模拟)

来源:互联网 发布:淘宝店铺音乐 编辑:程序博客网 时间:2024/06/05 11:47


I Love Military Chess

Accepted : 45 Submit : 141Time 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 2B M9 1B F1 FM 1F 1

样例输出

10-1BingoBingoErrorError


第二次小组赛,这次选题是湘潭市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;}
感觉这道题应该是去年的签到题,能做出来的还只是这些简单题啊,能把现在自己能做出来的题目都做出来就不错啦!!!加油!!

1 0
原创粉丝点击