JOI 2011 - Banner
Xem PDFVào năm 20XX, cuối cùng kỳ thi IOI cũng được tổ chức tại đất nước JOI. Để chào mừng sự kiện này, người dân quyết định treo các băng rôn chào đón khắp các con phố. Như hình dưới đây, đất nước JOI có \(H\) con đường chạy theo hướng đông–tây và \(W\) con đường chạy theo hướng bắc–nam, tạo thành một lưới ô vuông. Nơi một con đường đông–tây giao với một con đường bắc–nam được gọi là giao lộ. Giao lộ thứ \(a\) tính từ phía bắc và thứ \(b\) tính từ phía tây được ký hiệu là \((a,b)\).
Tại mỗi giao lộ có một cây cột. Đất nước JOI có ba màu biểu tượng là đen, xám và trắng; mỗi cây cột được sơn bằng một trong ba màu này.
Hình minh họa đất nước JOI khi \(H=3\), \(W=4\). Phía trên hình là hướng bắc, phía bên trái là hướng tây.
Có thể dùng các cây cột này để treo băng rôn. Tuy nhiên, băng rôn sẽ gây cản trở nếu đi qua những nơi không phải là đường. Vì vậy, người dân chọn bốn cây cột khác nhau tại bốn đỉnh của một hình chữ nhật có mỗi cạnh song song với một con đường, rồi treo băng rôn quanh hình chữ nhật đó. Ngoài ra, trong bốn cây cột được chọn phải có ít nhất một cột đen, một cột xám và một cột trắng.
Yêu cầu
Cho \(H\), \(W\) và màu của các cây cột, hãy tính số cách chọn bốn cây cột thỏa mãn các điều kiện trên.
Dữ liệu vào
Đọc từ đầu vào chuẩn:
- Dòng đầu chứa hai số nguyên \(H,W\), cách nhau bởi dấu cách.
- \(H\) dòng tiếp theo mô tả màu của các cây cột. Dòng thứ \(i+1\) (\(1\le i\le H\)) chứa \(W\) số nguyên, mỗi số là \(0\), \(1\) hoặc \(2\), cách nhau bởi dấu cách. Số thứ \(j\) cho biết màu của cột tại giao lộ \((i,j)\): \(0\) là đen, \(1\) là xám, \(2\) là trắng.
Dữ liệu ra
In ra đầu ra chuẩn một dòng chứa số cách chọn bốn cây cột.
Ràng buộc
- \(2\le H\le400\): số con đường chạy theo hướng đông–tây.
- \(2\le W\le400\): số con đường chạy theo hướng bắc–nam.
- Giới hạn thời gian CPU: \(1{,}5\) giây. Giới hạn bộ nhớ: \(64\) MB.
Thông tin kỹ thuật
Theo tài liệu kỹ thuật của kỳ thi gốc:
- Chương trình phải kết thúc bình thường với mã trả về \(0\). Chỉ được tính điểm khi chương trình cho kết quả đúng, kết thúc bình thường và tuân thủ giới hạn thời gian, bộ nhớ.
- Nếu không có quy định khác, giới hạn ngăn xếp là \(8\) MB. Cần chú ý tránh tràn ngăn xếp khi dùng đệ quy.
- Một số bài có thể cần xử lý số nguyên vượt quá phạm vi \(32\) bit; khi đó, trong C/C++ cần dùng kiểu số nguyên \(64\) bit như
long long, với định dạng%lldkhi dùngscanfhoặcprintf. - Với lượng dữ liệu vào/ra lớn, tài liệu khuyến nghị dùng
scanf/printfthay chocin/coutdo tốc độ vào/ra trên hệ thống thi gốc.
Phân nhóm
Bài có tổng cộng \(100\) điểm, gồm \(10\) bộ dữ liệu, mỗi bộ \(10\) điểm.
- Các bộ dữ liệu chiếm \(40\%\) tổng số điểm thỏa mãn \(H\le100\) và \(W\le100\).
Ví dụ
Ví dụ 1
Input
3 4
0 1 0 2
1 2 0 1
0 0 2 1
Output
12
Giải thích
Có đúng \(12\) cách chọn bốn cây cột như sau:
- \((1,1), (2,1), (2,2), (1,2)\).
- \((1,1), (2,1), (2,4), (1,4)\).
- \((1,2), (2,2), (2,3), (1,3)\).
- \((1,3), (2,3), (2,4), (1,4)\).
- \((1,1), (3,1), (3,4), (1,4)\).
- \((1,2), (3,2), (3,3), (1,3)\).
- \((1,2), (3,2), (3,4), (1,4)\).
- \((1,3), (3,3), (3,4), (1,4)\).
- \((2,1), (3,1), (3,2), (2,2)\).
- \((2,1), (3,1), (3,3), (2,3)\).
- \((2,2), (3,2), (3,4), (2,4)\).
- \((2,3), (3,3), (3,4), (2,4)\).
Vì vậy, kết quả cần in là \(12\).
Kỳ thi:
- JOI 2011 Representative Selection - Ngày 1 (9 Tháng 1., 2016)

Bình luận