HDOJ 5630-Rikka with Chess

Rikka with Chess

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 111    Accepted Submission(s): 96


Problem Description
Yuta gives Rikka a chess board of size n×m .

As we all know, on a chess board, every cell is either black or white and every two cells that share a side have different colors.

Rikka can choose any rectangle formed by board squares and perform an inversion, every white cell becomes black, and vice versa.

Rikka wants to turn all cells into the same color, please tell Rikka the minimal number of inversions she need to achieve her goal.
 

Input
The first line contains a number T(T10) ——The number of the testcases.

Each testcase contains two numbers n,m(n109,m109) .
 

Output
For each testcase, print a single number which represents the answer.
 

Sample Input
   
   
   
   
3 1 2 2 2 3 3
 

Sample Output
   
   
   
   
1 2 2
 

Source
BestCoder Round #73 (div.2) 
解题思路:
题目很好理解,就是有一个n*n的棋盘其中黑白方块相同颜色的是不会相邻的,每次我们都可以制定一个任意大小的矩形,将其中的颜色反转,问最小通过多少步可以将整个棋盘反转成同一种颜色。
很好理解先将2.4.6.8...........行反转,再将2.4.6.8..........反转就是最小步骤。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int  main()
{
    int t,a,b;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&a,&b);
        int wc,wcnm;
        wc=a/2;
        wcnm=b/2;
        printf("%d\n",wc+wcnm);
    }
    return 0;
}


你可能感兴趣的:(Math,hdoj)