trang chủ / bài tập / petsquare

Petya và hình vuông

Đề bài

Mô tả

Cho một hình vuông kích thước S×S ô (với S là số chẵn). Một ô của hình vuông được đánh dấu.

Bạn cần vẽ một đường gấp khúc đi dọc theo các cạnh của lưới, chia hình vuông thành hai phần bằng nhau qua phép quay (phần này quay quanh tâm hình vuông sẽ trùng khít với phần kia). Đường cắt không được có bất kỳ điểm chung nào với ô đã đánh dấu, kể cả điểm chung ở biên hay ở góc của ô đó.

Hãy xác định xem có thể cắt hình vuông theo yêu cầu trên hay không.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên S, x, y: cạnh của hình vuông và tọa độ ô được đánh dấu. Các dòng được đánh số từ 1 đến S từ trên xuống dưới, các cột được đánh số từ 1 đến S từ trái sang phải; x là chỉ số dòng, y là chỉ số cột.

Dữ liệu ra

In ra YES nếu có thể cắt hình vuông theo yêu cầu, ngược lại in ra NO.

Ràng buộc

  • 2S100, S chẵn
  • 1x,yS

Ví dụ

Input Output Giải thích
4 1 1 YES Ô đánh dấu nằm ở góc trên trái, xa tâm hình vuông nên vẫn còn đường cắt hợp lệ.
2 2 2 NO Hình vuông 2×2: mọi ô đều kề tâm, đường cắt nào cũng chạm vào ô đánh dấu.
100 52 50 YES Ô (52,50) không phải một trong bốn ô trung tâm (50,50),(50,51),(51,50),(51,51).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0