Đi trên ma trận

Đề bài

Mô tả

Trò chơi "Đi trên ma trận" diễn ra trên một bảng n×m gồm các số nguyên không âm ai,j. Người chơi xuất phát tại ô (1,1) với điểm số ban đầu bằng a1,1, và mỗi bước chỉ được đi sang phải hoặc đi xuống, tức là từ (x,y) sang (x,y+1) hoặc (x+1,y), miễn là không ra khỏi bảng. Mỗi khi bước vào một ô mới, điểm số hiện tại được thay bằng phép AND bit giữa điểm số đó và giá trị của ô vừa bước vào. Mục tiêu là tới ô (n,m) với điểm số lớn nhất có thể.

Bob giải bài toán này bằng quy hoạch động như sau, với fi,j là điểm số tốt nhất mà thuật toán của Bob tính được cho ô (i,j):

f1,1=a1,1

fi,j=max(fi1,j&ai,j,fi,j1&ai,j)

(chỉ lấy những số hạng tương ứng với ô nằm trong bảng), rồi in ra fn,m.

Thuật toán này không đúng: fn,m có thể nhỏ hơn điểm số lớn nhất thực sự.

Cho số nguyên không âm k, hãy dựng một bảng a sao cho:

  • 1n,m500;
  • 0ai,j3·105 với mọi 1in, 1jm;
  • hiệu giữa điểm số lớn nhất thực sự và giá trị fn,m mà thuật toán của Bob in ra đúng bằng k.

Có thể chứng minh rằng với mọi k thỏa mãn 0k105 luôn tồn tại một bảng như vậy. Nếu có nhiều bảng hợp lệ, in ra bảng nào cũng được.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên k.

Dữ liệu ra

  • Dòng đầu chứa hai số nguyên nm: kích thước bảng.
  • n dòng tiếp theo, dòng thứ i chứa m số nguyên ai,1,ai,2,,ai,m.

Ràng buộc

  • 0k105

Ví dụ

Input Output Giải thích
0 1 1
300000
Bảng 1×1: người chơi đứng yên tại ô duy nhất, điểm số lớn nhất là 300000 và thuật toán của Bob cũng in ra 300000. Hiệu bằng 0=k.
1 3 4
7 3 3 1
4 8 3 6
7 7 7 3
Điểm số lớn nhất là 7&3&3&3&7&3=3, trong khi thuật toán của Bob in ra 2. Hiệu bằng 1=k.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0