题目描述:
又见面了! PK先生以及ACM集训队所有裁判都准备好迎接这场期待已久的比赛了,你呢?虽然裁判们对这场比赛的难度的看法并不相同,但是大家还是一致认为这场比赛的绝大部分题目比常规积分赛更加有趣。祝你们好运,享受比赛!
作为本次比赛的第一道题目,它将是最容易的。
PK上大学以来一直在苦恼一件事情,就是学校食堂里,互不认识的同学,或者是异性同学之间,都不愿意坐的很近。于是,原本食堂里那么多的座位,却常常让他找不到座位。
假设食堂里的座位是一个 NXM 的矩阵,当一个座位上有人坐着的同时,他的前后左右(即矩阵的上下左右)将不会再有人愿意去坐。 PK在食堂吃不到饭的同时,很好奇,如果大家遵守上面的规定,最多能有多少人能同时吃饭。
输入描述:
第一行输入 T (1 <= T <= 100),代表T组询问。 每组询问只有两个整数 N, M (1 <= N <= 100, 1 <= M <= 100)。
输出描述:
每行输出一个数,表示这个食堂最多能坐多少人。
样例输入:
复制
2 2 2 6 4
样例输出:
2 12
思路:水题
AC代码:
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#include <string.h>
#include <stdlib.h>
#include <queue>
#include <stack>
#include <map>
#include <vector>
#define PI 3.1415926
#define inf 0x3f3f3f3f
#define maxn 50010
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
int sum=n*m;
int cnt=sum/2;
if(sum%2==0)
printf("%d\n",cnt);
else
printf("%d\n",cnt+1);
}
return 0;
}