Lật xu

View as PDF

Submit solution

Points: 0.25 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
3D
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

Please read the guidelines before commenting.


There are no comments at the moment.