zoukankan      html  css  js  c++  java
  • Codeforces 112B-Petya and Square(实现)

    B. Petya and Square
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Little Petya loves playing with squares. Mum bought him a square 2n × 2n in size. Petya marked a cell inside the square and now he is solving the following task.

    The task is to draw a broken line that would go along the grid lines and that would cut the square into two equal parts. The cutting line should not have any common points with the marked cell and the resulting two parts should be equal up to rotation.

    Petya wants to determine whether it is possible to cut the square in the required manner given the sizes of the square side and the coordinates of the marked cell. Help him.

    Input

    The first line contains three space-separated integers 2nx and y (2 ≤ 2n ≤ 100, 1 ≤ x, y ≤ 2n), representing the length of a square's side and the coordinates of the marked cell. It is guaranteed that 2n is even.

    The coordinates of the marked cell are represented by a pair of numbers x y, where x represents the number of the row and y represents the number of the column. The rows and columns are numbered by consecutive integers from 1 to 2n. The rows are numbered from top to bottom and the columns are numbered from the left to the right.

    Output

    If the square is possible to cut, print "YES", otherwise print "NO" (without the quotes).

    Sample test(s)
    input
    4 1 1
    
    output
    YES
    
    input
    2 2 2
    
    output
    NO
    题意 :有一块2n*2n的地板,在地板上有一个东西,给出坐标和地板的边长。如今要将地板切成相等的两部分,且不能切到那个东西,问能不能切成功。
    仅仅要在中间一定不能切。

    。反之则可

    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    #include <cctype>
    #include <cstdlib>
    #include <set>
    #include <map>
    #include <vector>
    #include <string>
    #include <queue>
    #include <stack>
    #include <cmath>
    using namespace std;
    const int INF = 0x3f3f3f3f;
    #define LL long long
    char s[1000000];
    int main()
    {
    	int n,x,y;
    	while(~scanf("%d%d%d",&n,&x,&y))
    	{
    		int tx=n/2,ty=n/2;
    		if((x==tx||x==tx+1)&&(y==ty||y==ty+1))
    			puts("NO");
    		else
    			puts("YES");
    	}
    
    	return 0;
    }


  • 相关阅读:
    [读书笔记]-技术学习-微服务架构与实践
    [文章转载]-Java后端,应该日常翻看的中文技术网站 -江南白衣
    [文章转载]-我的Java后端书架-江南白衣
    正则表达式有多强大一看便知!
    微信小程序支付功能完整流程
    判断字符串是否合法(1)
    ES6新增常用方法
    JS求一个字符串在另一个字符串中出现的次数
    根据对象的某个属性排序
    数组去除重复值的四种超简便方法
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5336836.html
Copyright © 2011-2022 走看看