zoukankan      html  css  js  c++  java
  • BestCoder Round #73 (div.2)(hdu 5630)

    Rikka with Chess

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


    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
     
    题意:给一个n*m的黑白相间的矩形,每次可以从这个矩形中选出一个任意长宽的矩形,将其中的格子反色,问最少操作几次使所有的格子颜色相同
     
    题解:画出图形可以发现规律两行之间上下格子的颜色刚好反色,这样我们将任意一行反色即可使两行上下格子同色,这样我们操作了m/2次,操作完毕后,每一列的格子都同色 但是相邻的两列反色 此时我们将反色的格子反转颜色即可即n/2,所以答案是n/2+m/2
    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<stack> 
    #include<queue>
    #include<math.h>
    #include<algorithm>
    #define MAX 10010
    #define INF 0x7ffff
    #define MAXM 100100
    #define LL long long
    using namespace std;
    int main()
    {
    	int t,n,m,k;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d%d",&n,&m);
    		k=n/2+m/2;
    		printf("%d
    ",k);
    	}
    	return 0;
    } 
    

      

  • 相关阅读:
    洛谷P3674 小清新人渣的本愿
    洛谷P3709 大爷的字符串
    CF747F Igor and Interesting Numbers
    洛谷P1494 小Z的袜子
    洛谷P3396 哈希冲突
    分块⑨题
    洛谷P4219 大融合
    bzoj2959 长跑
    洛谷P2486 染色
    洛谷P4382 劈配
  • 原文地址:https://www.cnblogs.com/tonghao/p/5211091.html
Copyright © 2011-2022 走看看