当前位置: 首页 > news >正文

中国象棋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;
}

http://www.lryc.cn/news/325129.html

相关文章:

  • 记录一下目前为止的算法成长
  • AI大模型学习在数控系统工艺优化与智能制造中的应用
  • 安卓findViewById 的优化方案:ViewBinding与ButterKnife(一)
  • map和set(三)——红黑树
  • Day26 HashMap
  • 某蓝队面试经验
  • 【Linux】 centos7安装卸载SQL server(2017、2019)
  • 面试算法-110-课程表
  • 注册前后端php的检测
  • Redis:什么是redis?①
  • 【课程】MyBatisPlus视频教程
  • 如何使用人工智能和ChatGPT来优化营销转化率
  • Ubuntu 22.04上构建libvirt源码错误解决
  • 游戏客户端面经
  • AS,idea,maven,gradle
  • ElasTool v3.0 程序:材料弹性和机械性能的高效计算和可视化工具包
  • Redis入门级详解(一)
  • java算法题每日多道六
  • C# 特性(Attribute)
  • Redis 教程系列之Redis 配置(三)
  • Java实验03
  • 安卓studio连接手机之后,一两秒之后就自动断开了。问题解决。
  • 数字科技优化金融供给,内外协同激活新质生产力
  • 「Linux系列」Shell 输入/输出重定向
  • java实现word转pdf
  • [flask] flask的基本介绍、flask快速搭建项目并运行
  • 设计编程网站集:生活部分:饮食+农业,植物(暂记)
  • 搜索二维矩阵
  • 【LeetCode周赛】第 390 场周赛
  • leetcode 343.整数拆分