您的位置:首页 > 其它

Rikka with Chess

2016-03-10 19:19 190 查看


Rikka with Chess

 
 Accepts: 393
 
 Submissions: 548

 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 65536/65536 K (Java/Others)

问题描述
一个n \times mn×m的黑白相间的棋盘,每次可以选择一个矩形把其中的所有格子反色。问把所有格子变成一种颜色时的最少操作次数。

输入描述
第一行一个整数 T(T \leq 10)T(T≤10) 表示数据组数。

每组数据有一行, 两个正整数 n,m(n \leq 10^9, m \leq 10^9)n,m(n≤10​9​​,m≤10​9​​)。

输出描述
对于每组数据输出一行一个整数,代表最少需要的操作次数。

输入样例
3
1 2
2 2
3 3

输出样例
1
2
2


Statistic | Submit | Clarifications | Back

BestCoder Contest System 2.0
Copyright © 2014-2016 HDU ACM Team

这是一个很简单的题,刚开始我一直忽略掉了黑白相间四个字,一直想不明白,到底要算什么。后来明白了,既然是黑白相间,那么就意味着奇数行或奇数列的颜色是相同的,那么每两行之间就只需要更改一行,每两列之间也只需要更改一列。交叉的点会更改两次就回到了最初的颜色,未交叉的点则会更改成另一个颜色。

#include <iostream>
#include<cstdio>
using namespace std;

int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
printf("%d\n",n/2+m/2);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: