中国象棋C++

题目描述

在中国象棋中正所谓新手玩车,熟手玩炮,老手玩马,由此可见象棋中炮的地位还是比较高的。

给定一个n×m的棋盘,全部摆满炮,我们视所有炮都不属于同一阵营,他们之间可以相互攻击但不能不进行攻击直接移动。请问经历若干次攻击,直到不能攻击后,最少能剩余多少个炮。
 

输入描述

第一行一个正整数T,表示数据组数,T≤10^4。


对于每组数据,输入两个正整数n和m,满足:n≤10^18,m≤10^18。

输出描述

输出共T行,每行一个整数,表示答案。

样例输入

2
1 2
2 3

样例输出

2
4

解析

炮是隔一棋吃一个,根据题意要求列出三种情况:
只有一炮,则剩一炮;
单行或单列的情况,有两炮交替进攻吃棋,则剩两炮;
多行多列,每行每列各两炮交替进攻吃棋,则剩四炮.
#include<iostream>
using namespace std;
int t;
long long n,m;

int main()
{
    cin>>t;    
    for(int i=1;i<=t;i++){
        cin>>n>>m;
        if(n==1){
            if(m==1){
                cout<<"1"<<endl;
            }
            else{
                cout<<"2"<<endl;
            }
        }
        else{
            if(m==1){
                cout<<"2"<<endl;
            }
            else{
                cout<<"4"<<endl;
            }
        }
    }
    
    return 0;
}

相关推荐

  1. 中国象棋C++

    2024-03-25 17:42:06       18 阅读
  2. 象棋笔记()

    2024-03-25 17:42:06       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-25 17:42:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-25 17:42:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-25 17:42:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-25 17:42:06       20 阅读

热门阅读

  1. Python实现WebSocket通信

    2024-03-25 17:42:06       17 阅读
  2. 第十五届蓝桥杯模拟赛 第三期 (C++)

    2024-03-25 17:42:06       20 阅读
  3. golang实现枚举

    2024-03-25 17:42:06       18 阅读
  4. Qt笔记 计时器

    2024-03-25 17:42:06       19 阅读
  5. Day28:学习SpringCloud

    2024-03-25 17:42:06       17 阅读
  6. 为什么大家都在推美国MSB?

    2024-03-25 17:42:06       20 阅读
  7. 编程生活day3--Left Pad、出生年

    2024-03-25 17:42:06       17 阅读
  8. 服务器如何检查端口是否被占用并杀死进程

    2024-03-25 17:42:06       19 阅读
  9. AWTK-MODBUS 服务器

    2024-03-25 17:42:06       21 阅读