zoukankan      html  css  js  c++  java
  • nyoj 328 完全覆盖

    完全覆盖

    时间限制:2000 ms  |  内存限制:65535 KB

    难度:3

    描述

    有一天小董子在玩一种游戏----用2*1或1*2的骨牌把m*n的棋盘完全覆盖。但他感觉游戏过于简单,于是就随机生成了两个方块的位置(可能相同),标记一下,标记后的方块不用覆盖。还要注意小董子只有在m*n的棋盘能被完全覆盖后才会进行标记。现在他想知道:如果标记前m*n的棋盘能被完全覆盖,标记后的棋盘是否能被完全覆盖?

    输入

    第一行有一个整数t(1<=t<=100000),表示有t组测试数据。
    每组测试数据有三行或一行。
    第一行有两个整数 m,n(1<=m,n<=25535)表示行数和列数。
    如果需要标记的话,第二、三行都有两个整数 a,b(1<=a<=m,1<=b<=n),表示行标和列标。

    输出

    若标记前m*n的棋盘能被完全覆盖,则看标记后的棋盘是否能被完全覆盖,能则输出“YES”,否则输出“NO”;若标记前m*n的棋盘不能被完全覆盖则输出“NO”。

    样例输入

    2

    4 4

    1 1

    4 4

    5 5

    样例输出

    NO

    NO

    #include<iostream>
    #include<cstdio>
    using namespace std;
    
    int test[2][2];
    
    int main()
    {
        int a,b,t,i,k=0;
        while(scanf("%d",&t)!=EOF)
        {
            for(int i=0;i<t;i++)
            {
                scanf("%d%d",&a,&b);
                if(!(a&1)|| !(b&1))
                {
                    scanf("%d%d%d%d",&test[0][0],&test[0][1],&test[1][0],&test[1][1]);
                    if(((test[0][0]+test[0][1])&1)^((test[1][0]+test[1][1])&1))
                        printf("YES
    ");
                    else
                        printf("NO
    ");
                }
                else
                    printf("NO
    ");
            }
        }
        return 0;
    }        
    

      

  • 相关阅读:
    N皇后
    水域大小
    1221 分割平衡字符串
    1391 检查是否存在有效路径 DFS
    盛最多水的容器11 双指针
    烧饼排序
    每日日报8——软件设计④|抽象工厂模式(人与肤色)
    每日日报5——登录功能的实现(JAVA)
    每日日报4——软件设计②|简单工厂模式(女娲造人)
    vue利用transition过渡动画实现轮播图
  • 原文地址:https://www.cnblogs.com/zhangliu/p/7052957.html
Copyright © 2011-2022 走看看