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

Phản Chiếu

Đề bài

Mô tả

Farmer John có một bức tranh trên lưới N×N (N chẵn). Anh ấy tạo bức tranh bằng cách:

  1. Chia lưới thành 4 phần bằng nhau bởi đường ngang và dọc qua tâm.
  2. Vẽ trong phần tư phía trên bên phải.
  3. Phản chiếu bức vẽ qua các đường chia sang 3 phần tư còn lại.

Bessie đã phá hoại bức tranh bằng cách thay đổi trạng thái một số ô (tô thành đã vẽ hoặc xóa). Farmer John muốn khôi phục tính đối xứng phản chiếu với số thao tác ít nhất (mỗi thao tác là tô hoặc xóa một ô).

Sau đó có U cập nhật, mỗi cập nhật đảo trạng thái một ô. Sau mỗi cập nhật, hãy tính lại số thao tác tối thiểu.

Dữ liệu vào

  • Dòng 1: Hai số nguyên NU (2N2000, N chẵn, 0U105)
  • N dòng tiếp theo: Mỗi dòng gồm N ký tự, # là ô đã tô, . là ô trống
  • U dòng tiếp theo: Mỗi dòng gồm hai số nguyên rc (1r,cN) chỉ ô cần đảo trạng thái

Dữ liệu ra

In ra U+1 dòng, mỗi dòng là số thao tác tối thiểu: dòng đầu tiên trước mọi cập nhật, các dòng sau tương ứng với sau mỗi cập nhật.

Ràng buộc

  • 2N2000, N chẵn
  • 0U105

Ví dụ

Input Output Giải thích
4 5
..#.
##.#
####
..##
1 3
2 3
4 3
4 4
4 4
4
3
2
1
0
1
Ban đầu cần 4 thao tác. Sau mỗi cập nhật, số thao tác giảm dần đến 0, rồi tăng lại 1 sau cập nhật cuối.

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