trang chủ / đề bài / voi06_select

Chọn ô

Đề bài

Mô tả

Cho một bảng hình chữ nhật kích thước 4×n ô vuông. Các dòng được đánh số từ 1 đến 4, từ trên xuống dưới, các cột được đánh số từ 1 đến n từ trái qua phải.

Ô nằm trên giao của dòng i và cột j được gọi là ô (i,j). Trên mỗi ô (i,j) có ghi một số nguyên ai,j, i=1,2,3,4; j=1,2,…,n. Một cách chọn ô là việc xác định một tập con khác rỗng S của tập tất cả các ô của bảng sao cho không có hai ô nào trong S có chung cạnh. Các ô trong tập S được gọi là ô được chọn, tổng các số trong các ô được chọn được gọi là trọng lượng của cách chọn. Tìm cách chọn sao cho trọng lượng là lớn nhất.

Ví dụ: xét bảng với n=3:

Cột 1 Cột 2 Cột 3
Dòng 1 −1 9 3
Dòng 2 −4 5 −6
Dòng 3 7 8 9
Dòng 4 9 7 2

Cách chọn cần tìm là tập các ô S={(3,1),(1,2),(4,2),(3,3)} với trọng lượng 32.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương n là số cột của bảng.
  • Dòng thứ i trong 4 dòng tiếp theo chứa n số nguyên ai,1,ai,2,…,ai,n là các số trên dòng i của bảng (i=1,2,3,4).

Hai số liên tiếp trên một dòng cách nhau ít nhất một dấu cách.

Dữ liệu ra

Gồm 1 dòng duy nhất là trọng lượng của cách chọn tìm được.

Ràng buộc

  • 1≤n≤10000.
  • |ai,j|≤30000.

Subtasks

  • Subtask 1 (50% số test): n≤1000.
  • Subtask 2 (50% số test): 1000<n≤10000.

Mỗi subtask gồm nhiều test, mỗi test được chấm điểm riêng.

Ví dụ

Input Output Giải thích
3
-1 9 3
-4 5 -6
7 8 9
9 7 2
32 Bảng trong đề bài, chọn S={(3,1),(1,2),(4,2),(3,3)}.
2
-5 -3
-7 -2
-4 -9
-8 -6
-2 Mọi số đều âm, nhưng tập S phải khác rỗng: chọn một ô duy nhất (2,2).

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0