Chips

Đề bài

Mô tả

Cho một bảng ô vuông kích thước n×n. Trong bảng có m ô bị cấm, các ô còn lại trống. Người chơi lần lượt đặt một số quân cờ (chip) lên các ô nằm ở biên bảng nhưng không phải góc, sao cho mỗi ô biên chứa nhiều nhất một quân.

Sau khi đặt xong, trong đúng n1 phút, mọi quân đều di chuyển đồng thời, mỗi phút đúng một ô, đi thẳng từ cạnh mà nó xuất phát tới cạnh đối diện. Cụ thể:

  • Quân đặt ở cạnh trên (1,j) đi xuống dưới: sau phút t đứng ở (1+t,j).
  • Quân đặt ở cạnh dưới (n,j) đi lên trên: sau phút t đứng ở (nt,j).
  • Quân đặt ở cạnh trái (i,1) đi sang phải: sau phút t đứng ở (i,1+t).
  • Quân đặt ở cạnh phải (i,n) đi sang trái: sau phút t đứng ở (i,nt).

Người chơi thua (và được 0 điểm) nếu xảy ra ít nhất một trong các tình huống sau tại một thời điểm bất kỳ trong n1 phút:

  1. Có một quân rơi vào ô cấm.
  2. Có hai quân đứng trên cùng một ô.
  3. Có hai quân hoán đổi vị trí trong cùng một phút (ví dụ đặt hai quân ở hai đầu đối diện của một hàng có độ dài chẵn: chúng sẽ đổi chỗ ở giữa hàng).

Nếu không xảy ra tình huống nào ở trên, người chơi thắng và nhận điểm bằng số quân đã đặt. Hãy tính số điểm lớn nhất có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên xi,yi — tọa độ hàng và cột của ô cấm thứ i. Các ô cấm đôi một khác nhau.

Hàng được đánh số từ 1 (trên cùng) đến n (dưới cùng); cột được đánh số từ 1 (trái) đến n (phải).

Dữ liệu ra

Một số nguyên duy nhất — số điểm lớn nhất mà người chơi có thể đạt được.

Ràng buộc

  • 2n1000
  • 0m105
  • 1xi,yin

Ví dụ

Input Output Giải thích
3 1
2 2
0 Bốn ô biên không góc đều nằm trên hàng 2 hoặc cột 2, và ô (2,2) bị cấm nên mọi quân đi qua đều "chết". Không thể đặt quân nào.
3 0 1 Có thể đặt đúng một quân ở một trong bốn ô (1,2),(3,2),(2,1),(2,3). Không thể đặt hai quân do sẽ va chạm hoặc hoán đổi ở giữa.
4 3
3 1
3 2
3 3
1 Cả hàng 3 bị chặn, chỉ còn hàng 2 dùng được. Đặt một quân ở (2,1) hoặc (2,4).

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 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