XTUOJ 1176 I Love Military Chess(模拟)
I Love Military Chess |
||
| Accepted : 45 | Submit : 141 | |
| Time Limit : 1000 MS |
Memory Limit : 65536 KB |
|
题目描写叙述
|
| 军阶高低 | 棋子名称 | 各方枚数 | 特殊能力 |
|---|---|---|---|
| 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(模拟)的更多相关文章
- 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 ...
- D. Anton and Chess 模拟题 + 读题
http://codeforces.com/contest/734/problem/D 一开始的时候看不懂题目,以为象是中国象棋那样走,然后看不懂样例. 原来是走对角线的,长知识了. 所以我们就知道, ...
- Chess 模拟
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6114 Problem Description 車是中国象棋中的一种棋子,它能攻击同一行或同一列中没有其他棋 ...
- Codeforces Round #157 (Div. 2)
A. Little Elephant and Chess 模拟. B. Little Elephant and Magic Square 枚举左上角,计算其余两个位置的值,在\(3\times 3\) ...
- hihoCoder 1392 War Chess 【模拟】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)
#1392 : War Chess 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Rainbow loves to play kinds of War Chess gam ...
- codeforces 893A Chess For Three 模拟
893A Chess For Three 思路: 直接模拟即可,第一盘永远是A与B开始 代码: #include <bits/stdc++.h> using namespace std; ...
- 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 ...
- 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 ...
- 20180520模拟赛T3——chess
[问题描述] 小美很喜欢下象棋. 而且她特别喜欢象棋中的马. 她觉得马的跳跃方式很独特.(以日字格的方式跳跃) 小芳给了小美一张很大的棋盘,这个棋盘是一个无穷的笛卡尔坐标. 一开始\(time=0\) ...
随机推荐
- Python之文件操作:文件、目录的操作
一.创建 1.创建文件 open(path,'w') 2.创建目录 (1)os.mkdir(pt[, mode=0777]) 新建一个目录pt,参数mode表示生成的目录的权限,默认是超级权限,也就是 ...
- 四个简单易用的demo,关于iOS定时器和延时的,非常好用。
1,延时执行(不可重复) 效果我直接截取控制台的日志了,就不做UI了. 2,用NSTimer执行定时和延时(可重复) [objc] view plain copy /** ** timer 可重复 * ...
- 线程间操作无效: 从不是创建控件“textBox4”的线程访问它
原文发布时间为:2009-03-30 -- 来源于本人的百度文章 [由搬家工具导入] public long str1, str2, str3, str4, str5, sum=0,sum1=0; p ...
- .net web api ioc unity usage
1.use nuget to install unity.webapi 2.add configurations in application_start folder using Microsoft ...
- [LeetCode] Path Sum II 深度搜索
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...
- linux下终端录制
主要是以下三步: 一.安装软件:curl -sL https://asciinema.org/install | sh 二.录制终端:asciinema rec filename 三.回放终端:asc ...
- hdu 4970 树状数组 “改段求段”
题意:塔防.给1--n,给出m个塔,每个塔有攻击力,给出k个怪兽的位子和血量,问有几只可以到达n点. 今天刚刚复习了树状数组,就碰到这个题,区间更新.区间求和类型.第三类树状数组可以斩. 注意一下大数 ...
- AC日记——计算循环节长度 51nod 1035
最长的循环节 思路: 我们尝试一种最简单的方法,模拟: 如何模拟呢? 每个数,对它模k取余,如果它的余数没有出现过,就补0继续模: 所以,当一个余数出现两次时,当前的长度即为循环节长度: 来,上代码: ...
- javascript中各种继承方式的优缺点
javascript中实现继承的方式有很多种,一般都是通过原型链和构造函数来实现.下面对各种实现方式进行分析,总结各自的优缺点. 一 原型继承 let Super = functioin(name = ...
- Android 进度条对话框ProgressDialog
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

