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

Đội Hợp Xướng Hogwarts

Đề bài

Mô tả

Giáo sư Filius Flitwick Filius Flitwick đang chuẩn bị cho buổi biểu diễn của Đội Hợp Xướng Hogwarts. Ông cần sắp xếp các ca sĩ vào một đội hình dạng lưới N×M (gồm N hàng và M cột).

Mỗi ca sĩ thuộc một trong K loại giọng hát (đánh số từ 1 đến K). Khi hai ca sĩ đứng cạnh nhau (chung cạnh theo chiều ngang hoặc dọc), sẽ phát sinh một độ bất hòa âm phụ thuộc vào loại giọng của họ. Cụ thể, nếu ca sĩ loại giọng a đứng cạnh ca sĩ loại giọng b, độ bất hòa âm là Da,b.

Ma trận bất hòa âm D có kích thước K×Kkhông nhất thiết đối xứng - nghĩa là Da,b có thể khác Db,a. Độ bất hòa âm giữa hai ô kề nhau được tính từ ô bên trái sang phải (theo chiều ngang) và từ ô bên trên xuống dưới (theo chiều dọc). Cụ thể:

  • Với hai ô (i,j)(i,j+1): bất hòa âm là Dgi,j,gi,j+1
  • Với hai ô (i,j)(i+1,j): bất hòa âm là Dgi,j,gi+1,j

trong đó gi,j là loại giọng được gán cho ô (i,j).

Giáo sư Flitwick Filius Flitwick muốn gán mỗi ô trong lưới một loại giọng (mỗi loại giọng có thể được dùng nhiều lần) sao cho tổng độ bất hòa âm giữa tất cả các cặp ô kề nhau là nhỏ nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa ba số nguyên N, M, K - kích thước lưới và số loại giọng hát.
  • K dòng tiếp theo, mỗi dòng chứa K số nguyên, mô tả ma trận bất hòa âm D. Dòng thứ a (1aK), số thứ bDa,b.

Dữ liệu ra

In ra một số nguyên duy nhất - tổng bất hòa âm nhỏ nhất có thể đạt được.

Ràng buộc

  • 1N1000
  • 1M7
  • 1K4
  • 0Da,b1000

Ví dụ

Input Output Giải thích
3 3 3
5 2 8
3 4 1
7 6 3
24 Một cách gán tối ưu cho lưới 3×3: hàng 1 = (2, 1, 2), hàng 2 = (1, 2, 3), hàng 3 = (2, 3, 3). Tổng bất hòa âm của tất cả 12 cặp kề nhau bằng 24.
2 3 3
5 2 8
3 4 1
7 6 3
13 Lưới 2×3 với gán: hàng 1 = (1, 2, 3), hàng 2 = (2, 3, 3). Tổng bất hòa âm gồm 7 cặp kề nhau bằng 13.

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