2077 - 铺地板
时间限制 : 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."); } } } }