{"code":"cses2131","name":"CSES - Grid Puzzle II | Câu đố trên lưới II","description":"Cho một ma trận $n × n$ với mỗi ô chứa một số tiền ở trong.\r\n\r\nBạn chỉ được chọn một số ô nhất định trên mỗi dòng hoặc cột. Bạn nhận được tất cả tiền từ mỗi ô vuông bạn chọn. Số tiền tối đa bạn có thể thu thập được là bao nhiêu và làm thế nào bạn có thể chọn các ô sao cho thỏa mãn các điều kiện đã cho?\r\n\r\n## Input\r\n\r\n- Dòng đầu tiên chứa số nguyên $n$: kích thước của lưới. Các hàng và cột được đánh số $1,2,…, n$.\r\n- Dòng tiếp theo chứa $n$ số nguyên $a_1, a_2,…, a_n$: Bạn phải chọn chính xác $a_i$ ô từ hàng thứ $i$.\r\n- Dòng tiếp theo chứa $n$ số nguyên $b_1, b_2,…, b_n$: Bạn phải chọn chính xác $b_j$ ô từ cột thứ $j$.\r\n- Cuối cùng, có $n$ dòng mô tả ma trận. Tổng của $a_1, a_2,…, a_n$ và $b_1, b_2,…, b_n$ bằng nhau.\r\n\r\n## Output\r\n\r\n- Dòng đầu in ra một số nguyên $k$: số tiền tối đa bạn có thể nhận được. Sau đó, in $n$ dòng mô tả bạn chọn ô nào ($X$ nghĩa là bạn chọn ô đấy, $.$ nghĩa là bạn không chọn).\r\n- Nếu không có cách chọn, in một số $-1$.\r\n\r\n## Constraints\r\n\r\n- $1\\leq n \\leq  50$\r\n- $1\\leq a_i \\leq  n$\r\n- $1\\leq b_j \\leq  n$\r\n- $1\\leq c_{ij} \\leq  1000$\r\n\r\n## Example\r\n\r\n**Sample input**\r\n```\r\n5  \r\n0 1 3 2 0  \r\n1 2 2 0 1  \r\n2 5 1 5 1  \r\n0 2 5 1 2  \r\n3 8 9 3 5  \r\n1 4 3 7 3  \r\n0 3 6 2 8\r\n```\r\n**Sample output**\r\n\r\n```\r\n32  \r\n.....  \r\n..X..  \r\n.XX.X  \r\nXX...  \r\n.....\r\n```","points":2100.0,"partial":true,"time_limit":1.0,"memory_limit":524288,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}