Đặt quân xe

Xem PDF



Thời gian:
Python 3 5.0s

Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 2.0s Bộ nhớ: 640M Input: SUMROOK.INP Output: SUMROOK.OUT

Một bàn cờ vua đặc biệt có \(n \times n\) ô vuông. Ô vuông ở hàng \(i\) cột \(j\) có giá trị nguyên dương là \(a[i][j]\).

Hãy tìm cách xếp \(n\) quân xe lên bàn cờ sao cho không có hai quân xe nào "ăn nhau" và tổng giá trị của các ô vuông có đặt quân xe là lớn nhất.

Input

  • Số nguyên dương \(t\) --- số câu hỏi
  • Mỗi câu hỏi chứa số nguyên dương \(n\), và ma trận \(a\)

Output

  • Với mỗi câu hỏi, in ra một dòng có dạng Case k: x trong đó \(k\) là số thứ tự câu hỏi và \(x\) là tổng giá trị lớn nhất ở các ô vuông có đặt quân xe

Constraints

  • \(t \leq 100\)
  • \(n \leq 16\)
  • \(1 \leq a[i][j] \leq 10^5\)

Example

Test 1

Input
2
2
1 5
2 1
3
1 2 3
6 5 4
8 1 2
Output
Case 1: 7
Case 2: 16

Scoring

  • \(40\%\) số điểm thỏa mãn \(n \leq 10\)

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.