Submit solution
Points:
0.25 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Có ~16~ đồng xu xếp thành bảng ~4 \times 4~, mỗi đồng xu có thể úp hoặc ngửa như hình vẽ sau:
Mầu đen thể hiện đồng xu úp, màu trắng thể hiện đồng xu ngửa.
Tại mỗi bước ta có phép biến đổi sau: Chọn một đồng xu và thay đổi trạng thái của đồng xu đó và tất cả các đồng xu nằm ở các ô chung cạnh (úp thành ngửa, ngửa thành úp). Cho trước một trạng thái các đồng xu, hãy lập trình tìm số phép biến đổi ít nhất để đưa về trạng thái tất cả các đồng xu hoặc đều úp hoặc đều ngửa.
Dữ liệu:
- Gồm ~4~ dòng, mỗi dòng ~4~ ký tự 'w' - mô tả trạng thái ngửa hoặc 'b'- mô tả trạng thái úp.
Kết quả:
- Nếu có thể biến đổi được ghi số phép biến đổi ít nhất nếu không ghi "Impossible".
Sample Input 1
bwbw
wwww
bbwb
bwwb
Sample Output 1
Impossible
Sample Input 2
bwwb
bbwb
bwwb
bwww
Sample Output 2
4
Comments