2077 - 铺地板

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

MiaoWu最近迷上了铺地板的游戏:

    给出一个m*n的地面,问能否用1*2和2*1的砖块铺满,而且保证每块之间不会有重叠,同时确保一定是全部铺满才算赢哦~ 

但是MiaoWu觉得这个问题太简单了,它可不愿意让那些没动脑的人也AC了这道题,所以它伸出两只爪子,分别放在(x1,y1)和(x2,y2) 上,让你把剩下的区域全部铺满,规则跟上面一样。

题目输入

多组数据,输入到文件末尾结束。

每组数据先输入n,m (1<m,n<10^9)

然后输入两个点的坐标(x1,y1) (x2,y2)

题目输出

如果你能达到MiaoWu的要求赢得比赛,输出“Yes." , 否则输出“No.”

输入/输出样例

输入格式

2 2
1 1 1 2
2 2
1 1 2 2
10 10 
1 1 3 8

输出格式

Yes.
No.
Yes.

C++解答

#include<stdio.h>
int abs(int a)
{
    return a<0?-a:a;
}
int main()
{
    int m,n;
    int x1,x2,y1,y2;
    while(~scanf("%d%d",&m,&n))
    {
        scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
        if(m*n%2==1)
        {
            printf("No.\n");
        }
        else
        {
            if((abs(x1-x2)+abs(y1-y2))%2!=0)
            {
                printf("Yes.\n");
            }
            else
            {
                printf("No.\n");
            }
        }
    }
    return 0;
}

Java解答

import java.util.*;

public class Main{
    public static void main(String args[]){
        Scanner cin=new Scanner(System.in);
        long m,n;
        long x[][]=new long[2][2];
        while(cin.hasNext()){
            m=cin.nextLong();
            n=cin.nextLong();
            for(int i=0;i<2;i++){
                for(int j=0;j<2;j++)
                    x[i][j]=cin.nextLong();
            }
            if(m%2==1 && n%2==1){
                System.out.println("No.");
            }
            else{
                 x[0][0]+=x[1][0];
                 x[0][1]+=x[1][1];
                 if(x[0][0]%2==x[0][1]%2)
                     System.out.println("No.");
                 else
                     System.out.println("Yes.");
            }
        }
    }
}