题意
给定两个整数n和m,使其形成n* m的方格,每个方格都有分界线和边界线。现在题目给定,一个灯笼在分解线处可以照亮两个相邻的方格,边界线处可照亮这个方格,问n *m的方格至少需要多少个灯笼照亮全部的方格
思路
直接模拟即可,判断n*m有奇数个方格,还是偶数个方格,如果是偶数个,则直接除以2即可,如果是奇数个,则必定有一个方格是由边界线点亮的。
AC代码
#include<bits\stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int x,y;
while(n--){
scanf("%d%d",&x,&y);
int area=x*y;
if(area&1) printf("%d\n",(area>>1)+1);
else printf("%d\n",area>>1);
}
return 0;
}