Sudoku
Xem dạng PDF
Gửi bài giải
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Điểm:
5,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Sudoku là một trò chơi trí tuệ dành cho ~1~ người, được chơi trên bảng ~9~ x ~9~, chia thành ~9~ hình vuông nhỏ ~3~ x ~3~
Ban đầu có một số ô của bảng chứa các chữ số từ ~1~ đến ~9~. Những ô còn lại rỗng
Nhiệm vụ của người chơi Sudoku là điền các chữ số từ ~1~ đến ~9~ vào bảng, sao cho trong mỗi hàng, mỗi cột, và trong ~9~ ô vuông ~3 x 3~ của bảng có đủ tất cả các chữ số từ ~1~ đến ~9~ (nói cách khác, mỗi chữ số từ ~1~ đến ~9~ xuất hiện đúng một lần trong mỗi hàng, mỗi cột, và trong ~9~ ô vuông ~3 x 3~
Nhiệm vụ của bạn trong bài toán này hơi khác một chút: thay vì điền tiếp các chữ số vào bảng Sudoku, bạn cần tạo ra ~1~ bảng Sudoku hợp lệ (nghĩa là mỗi hàng, mỗi cột, và ~9~ ô vuông ~3 x 3~ đều có đủ các chữ số từ ~1~ đến ~9~
Input:
Bài này không có input
Output:
In ra đúng ~9~ dòng, mỗi dòng gồm ~9~ ký tự là ~9~ chữ số của dòng tương ứng
Giới hạn:
- Nếu đưa ra 1 bảng sudoku không hợp lệ, được 0 điểm
- Ngược lại, điểm được tính như sau:
- Gọi ô ở hàng ~u~ cột ~v~ là ô ~(u, v)~
- Với mỗi i từ ~1~ đến ~9~, ta định nghĩa: $$\text{sum}(i) = \sum (|u - x| \times |v - y|)$$ với tất cả các cặp ô ~(u, v)~ và ~(x, y)~ chứa số ~i~
- Điểm của bạn được tính theo công thức: $$\min \left( \max \left( 0, \sum_{i=1}^{9} (\text{sum}(i) \times i) - 17000 \right), 1062 \right)$$

Bình luận