时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
在中国象棋中正所谓新手玩车,熟手玩炮,老手玩马,由此可见象棋中炮的地位还是比较高的。
给定一个n \times mn×m的棋盘,全部摆满炮,我们视所有炮都不属于同一阵营,他们之间可以相互攻击但不能不进行攻击直接移动。请问经历若干次攻击,直到不能攻击后,最少能剩余多少个炮。
输入描述:
第一行一个正整数TT,表示数据组数,T \leq 10^{4}T≤10
4
。
对于每组数据,输入两个正整数nn和mm,满足:n \leq 10^{18}n≤10
18
,m \leq 10^{18}m≤10
18
。
输出描述:
对于每组数据,输出最少能剩余多少个炮。
示例1
输入
复制
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;
}