链接:https://ac.nowcoder.com/acm/contest/329/E
来源:牛客网
题目描述
既然昨天晚上处女座已经训练了,明天才要交作业,那今天就是平淡无奇要上课的一天了。
然而处女座也想自己的小姐姐了,可是这节课是老师安排座位,处女座坐在(1,1),而小姐姐坐在(n,m)。他们之间只能通过传纸条的方式来交流感情。对于处女座而言,他上课不想过度分心,因此并不想传纸条,只在那里趁机折千纸鹤。
老师上课喜欢用"开火车"的方式让大家轮流回答问题,显然处女座作为(1,1)位,会被第一个叫起来回答,之后老师将依次叫起(2,1),(3,1),….(n,1),(n,2),(n−1,2)⋯(1,2),⋯(2,1),(3,1),….(n,1),(n,2),(n−1,2)⋯(1,2),⋯的人起来回答问题,每个人回答问题需要1秒。处女座在自己回答完以后会以每秒1个千纸鹤的速度折叠,在小姐姐开始回答问题的时候停止折叠。
处女座想知道,他这节课一共要折多少个千纸鹤?
输入描述:
输入文件包含T+1行,第一行包含一个整数T,表示用例组数。 接下来T行,每行包含两个整数n,m表示小姐姐的位置和教室的大小。
输出描述:
对于每一组用例,用一行输出一个整数,表示处女座要折的千纸鹤的个数。
示例1
输入
复制
1 3 3
输出
复制
7
备注:
2≤n,m≤1,000
#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <sstream>
#include <queue>
#include <typeinfo>
#include <fstream>
#include <map>
#include <stack>
typedef long long ll;
using namespace std;
struct po
{
int x;
int y;
} arr[6000000];
int dp[6000000];//时间
int main()
{
int t;
cin>>t;
int s;
while(t--)
{
int n,m;
cin>>n>>m;
if(m%2==0){
s=(m-1)*n-1;
}
else
s=(m)*n-2;
cout<<s<<endl;
}
/*int n;
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>arr[i].x>>arr[i].y;
}
int s=0;
for(int i=1; i<=n; i++)
{
s+=b[i-1];
dp[i]=min(dp[i-1],dp[i-1]+b[i]);
}*/
}