XTUOJ 1176 I Love Military Chess(模拟)

2023-05-16



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

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • XTUOJ 1176 I Love Military Chess(模拟)

    xfeff xfeff I Love Military Chess Accepted 45 Submit 141Time Limit 1000 MS Memory Limit 65536 KB 题目描述 陆军棋 xff0c 又称陆战棋 xf
  • 将 JLabel 添加到 JPanel 是否会“隐藏”JPanel?

    如果我在 GridLayout 中有几个 JPanel 每个 JPanel 都有一个 MouseAdapter 然后创建 JLabels 带有文本 并添加到每个 JPanel 中 请注意 JLabels 没有侦听器 如果我渲染它并尝试单击
  • 换位表会导致搜索不稳定吗

    我正在编写一个国际象棋引擎 最近添加了一个换位表 在运行一些测试时 我发现虽然搜索仍然返回相同的最佳移动 但移动的价值 对于最大化玩家来说有多好 波动 这是转置表的正常行为吗 我记得读到转置表可能会导致搜索不稳定 是这个意思吗 那么这是我的
  • WPF 中的棋盘

    多年来我一直使用 Winforms 进行开发 现在我想切换到 WPF 并制作一个棋盘 不幸的是我不知道从哪里开始 使用 WPF 让我非常不确定 我感觉自己又像个菜鸟了 有人可以概述一下基本设计吗 我想我会从 8x8 网格开始 使用矩形作为正
  • 正则表达式根据之前匹配的内容来匹配某些内容

    我正在尝试编写一个正则表达式来验证移动国际象棋代数记数法 这是我到目前为止所拥有的 O O O Castling KQRBN x a h 1 8 Most normal moves and captures 我迷失的地方是典当促销 马 主教
  • 实现 alpha-beta 剪枝算法时函数中的奇怪行为

    我已经实现了带有 alpha beta 修剪的极小极大算法 为了获得最佳动作 我将 alpha beta 算法称为rootAlphaBeta功能 然而 在rootAlphaBeta函数时 我发现了一些非常奇怪的行为 当我打电话给rootAl
  • 在 Rust 中,存储较大的类型更快还是存储较小的类型并始终强制转换它们更快?

    我正在用 Rust 开发一个国际象棋引擎 我有一个Move结构与from and to字段 它们是Square Square是一个包含一个结构体usize 这样我在访问该职位的棋盘元素时就可以直接使用它 因为在 Rust 中索引必须用usi
  • n 个皇后的快速启发式算法 (n > 1000)

    我写了两个程序 通过回溯算法将棋盘上的 n 个皇后放在一起 没有任何威胁 但这对于大 n 来说非常沉重 最后你可以运行 100 个皇后 通过爬山算法将棋盘上的 n 个皇后放在一起 没有任何威胁 这个算法比过去的解决方案更好 但是 300 个
  • 更有效地检测检查(国际象棋)

    我目前正在开发一个国际象棋引擎 该引擎到目前为止正在运行 但需要很长时间才能生成棋步 由于必须生成许多移动 因此检查检测花费的时间是迄今为止最长的 在尝试了很多事情之后我陷入了困境 并且无法真正弄清楚如何提高效率 我是这样做的 为了检查移动
  • 了解使用无符号位板生成滑块移动的“o^(o-2r)”公式?

    我正在尝试做什么我正在尝试执行一些按位运算来创建国际象棋引擎 为了制作这个引擎 我需要能够生成棋子的动作 比如车 有一个方便的公式 https www chessprogramming org Subtracting a Rook from
  • 国际象棋:高分支因子

    我正在尝试开发一个简单的国际象棋引擎 但我在其性能方面遇到了困难 我已经通过 alpha beta 修剪和迭代加深 没有任何额外的启发式 实现了 Negamax 但是我无法获得超过 3 4 层的合理搜索时间 以下是我的程序从游戏开始时的日志
  • 使用魔法位板生成滑动移动

    这是一个关于如何使用魔法位板验证国际象棋中的滑动棋子移动的大局的问题 只是为了澄清 我不是在问how魔法位板在内部工作 现在 关于这个问题的更多细节 我正在使用位板编写棋盘表示 并且我想使用魔术位板验证滑动棋子的移动 有人可以列出如何实现这
  • 国际象棋编程(无人工智能)——动作验证

    我正在尝试编写自己的国际象棋引擎 没有人工智能 我知道有国际象棋游戏入门套件 http www chessbin com page Chess Game Starer Kit aspx我观看它是为了获得灵感 但我没有注意到的是经过验证的动作
  • 与XBoard(国际象棋引擎)通信(C++/C)

    我只是在尝试制作一个基本的国际象棋引擎 我从中得到了很多建议http web archive org web 20070704121716 http www brucemo com compchess programming alphabe
  • 如何有效地编码/解码压缩的位置描述?

    我正在为日本象棋变体编写一个表库 为了索引表基数 我将每个国际象棋位置编码为整数 在编码步骤之一中 我对棋盘上棋子的位置进行编码 由于实际方法有点复杂 我就简单地解释一下这个问题 编码 在残局桌面中 我有 比方说 六个不同的棋子 我想将它们
  • 防止在线棋牌游戏作弊? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在许多在线国际象棋大厅中 我见过 引擎 的实例 其中作弊者会在主游戏窗口的同时打开国际象棋程序 然后他会进行设置 以便将对手的动作传送
  • 棋盘坐标

    我正在尝试用 Java 创建一个国际象棋程序 现在 我已经将棋盘与现有的部件一起完成 我可以用鼠标通过拖放来移动它们 我需要的是向两侧的方块添加坐标 就像在真正的板上一样 不一定要有什么奇特的东西 只是一个视觉效果 由于我没有使用图形绘制板
  • 棋子层次结构设计:继承与类型字段

    我有一个片段的基类 class piece 和一个包含派生对象的数组 piece board 8 8 优点 通过虚拟函数进行简洁的设计 缺点是 如果我必须在板上找到一块或比较一块 我必须恢复到动态铸造 或 typeid 它很丑陋 并且在发出
  • 将国际象棋引擎连接到用 Javascript 制作的现有 GUI

    我编写了自己的用于下棋和教授国际象棋的 GUI GUI 是使用 HTML 编写的 用于外观 使用 JavaScript 来实现各个部件的行为 目前该程序不遵循任何国际象棋规则 正确遵循国际象棋规则取决于用户 这允许自由地设置非法位置或多次移
  • 在编程计算机下棋时如何对棋盘进行建模?

    您将使用什么数据结构来表示计算机国际象棋程序的棋盘 对于严肃的国际象棋引擎来说 使用位板是在内存中表示棋盘的有效方法 位板比任何基于数组的表示更快 特别是在 64 位架构中 其中位板可以放入单个 CPU 寄存器中 位板 位板的基本思想是以

随机推荐

  • 二叉树的下一个结点

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 题目描述 给定一个二叉树和其中的一个结点 xff0c 请找出中序遍历顺序的下一个结点并且返回 注意 xff0c 树中的结点不仅包含
  • 按之字形顺序打印二叉树

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 import java util ArrayList import java util Queue import java uti
  • 对称的二叉树

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 请实现一个函数 xff0c 用来判断一颗二叉树是不是对称的 注意 xff0c 如果一个二叉树同此二叉树的镜像是同样的 xff0c
  • 【unix】unix环境高级编程

    文章目录 1 UNIX基础知识1 基本知识2 文件和目录3 输入和输出4 程序和进程5 出错处理6 用户标识7 信号8 时间9 系统调用和库函数 标准化和实现1 标准化 ISO C POSIX Single UNIX Specificati
  • 序列化反序列二叉树

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 题目描述 请实现两个函数 xff0c 分别用来序列化和反序列化二叉树 思路 xff1a 序列化的时候遇到null的结点就补充 xf
  • java 判断字符串是否为null的四种方法:

    以下是java 判断字符串是否为空的四种方法 xff1a 方法一 最多人使用的一个方法 直观 方便 但效率很低 if s 61 61 null s equals 34 34 方法二 比较字符串长度 效率高 是我知道的最好一个方法 if s
  • spring-boot推送实时日志到前端页面显示

    个人技术网站 欢迎关注 网上有很多后台推送日志到前端页面的例子 xff0c 这里我也借鉴了别人的做法 稍加改进一下 以前做前端页面显示日志一般都会想到ajax轮询去做 xff0c 这样太耗费服务器资源了 xff0c 性能也很差 使用长连接来
  • [Ubuntu][Android]快速配置Android USB设备的权限

    1 复制如下内容到新建文本文件中 xff0c 并保存为51 android rules SUBSYSTEM 61 61 34 usb 34 ENV DEVTYPE 61 61 34 usb device 34 MODE 61 34 0666
  • shell脚本一次性将tab制表符改为4空格的方法

    问题描述 今天需要修改一些bash脚本 xff0c 因为考虑到pycharm里面能够直接写 xff0c 而我用pycharm比较多 xff0c 所以直接用pycharm写了 xff0c 由于改的那个bash脚本是别的同事写的 xff0c 里
  • matlab 并行计算 parfor

    转自 xff1a http www xiongfuli com E5 B9 B6 E8 A1 8C E8 AE A1 E7 AE 97 2016 05 Matlab Parfor html 在Matlab下使用parfor实现多核并行计算
  • Windows安装和完全卸载MySQL8(以MySQL8.0.31版本为例) 之 Zip 方式(超详细教程)

    文章目录 一 前言二 安装1 下载MySQL2 安装MySQL3 小结 xff1a 4 修改环境变量 3 完全卸载 一 前言 MySQL8相比之前版本改动还是挺大 xff0c 主要有以下几点 xff1a MySQL8之后并不需要my ini
  • Nginx显示500错误原因和解决方法

    文章目录 1 背景2 Nginx 常见的几种报错3 解决500错误 1 背景 最近在操作nginx 的时候出现了 Nginx 500 内部错误 xff0c 在此记录一下原因 xff0c 项目采用的是前后端分离方式 xff0c 后端Sprin
  • Cause: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list

    文章目录 原因分析 xff1a 解决方法 xff1a 原因分析 xff1a mysql 8里sql mode 中 select distinct 不允许和 order by 连用 可以查看 sql model show variables
  • 14.2 shell函数参数

    2 shell函数参数 2 1 位置参数2 2 选项参数2 2 1 getopts getopt的区别2 2 2 getopts的使用2 2 3 getopt的使用 Shell 函数参数的传递和其它编程语言不同 xff0c 没有所谓的形参和
  • protoc和protoc-gen-go-grpc安装及编译

    一 install protocol buffer compiler PB REL 61 34 https github com protocolbuffers protobuf releases 34 curl LO PB REL dow
  • powershell 脚本解压zip文件到指定目录

    span class token keyword Function span Unzip span class token operator span File span class token punctuation span span
  • 不用第三方软件 用DISM命令备份与还原win8系统

    分享一个来自远景论坛的的教程如何通过dism命令给自己的win8系统备份和如何通过dism命令还原系统 用 DISM 命令进行系统备份与还原不需要任何第三方软件 xff0c 是利用 Windows 7 Windows 8 系统自带的 DIS
  • ubuntu20.04+anaconda3+tensorflow-gpu2.1安装

    磁盘分区 WIN系统中 xff0c 右键我的电脑 管理 磁盘管理 xff0c 首先留给Ubuntu一定的空间 xff0c 这里为600G左右 Ubuntu系统盘制作 下载Ubuntu对应版本 xff0c 制作启动盘 Ubuntu安装 U盘启
  • nyist 27 水池数目(dfs搜索)

    xfeff xfeff 水池数目 时间限制 xff1a 3000 ms 内存限制 xff1a 65535 KB 难度 xff1a 4 描述 南阳理工学院校园里有一些小河和一些湖泊 xff0c 现在 xff0c 我们把它们通一看成水池 xff
  • XTUOJ 1176 I Love Military Chess(模拟)

    xfeff xfeff I Love Military Chess Accepted 45 Submit 141Time Limit 1000 MS Memory Limit 65536 KB 题目描述 陆军棋 xff0c 又称陆战棋 xf