唐山玉田网站建设,牛人网站建设,泸州市建设厅官方网站,微信开店哪个平台好题目描述
在中国象棋中正所谓新手玩车#xff0c;熟手玩炮#xff0c;老手玩马#xff0c;由此可见象棋中炮的地位还是比较高的。 给定一个nm的棋盘#xff0c;全部摆满炮#xff0c;我们视所有炮都不属于同一阵营#xff0c;他们之间可以相互攻击但不能不进行攻击直接移…题目描述
在中国象棋中正所谓新手玩车熟手玩炮老手玩马由此可见象棋中炮的地位还是比较高的。 给定一个n×m的棋盘全部摆满炮我们视所有炮都不属于同一阵营他们之间可以相互攻击但不能不进行攻击直接移动。请问经历若干次攻击直到不能攻击后最少能剩余多少个炮。
输入描述
第一行一个正整数T表示数据组数T≤10^4。 对于每组数据输入两个正整数n和m满足n≤10^18,m≤10^18。
输出描述
输出共T行每行一个整数表示答案。
样例输入
2
1 2
2 3
样例输出
2
4
解析 炮是隔一棋吃一个根据题意要求列出三种情况
只有一炮则剩一炮
单行或单列的情况有两炮交替进攻吃棋则剩两炮
多行多列每行每列各两炮交替进攻吃棋则剩四炮.
#includeiostream
using namespace std;
int t;
long long n,m;int main()
{cint; for(int i1;it;i){cinnm;if(n1){if(m1){cout1endl;}else{cout2endl;}}else{if(m1){cout2endl;}else{cout4endl;}}}return 0;
}