Câu đố của Simon
Submit solution
Points:
3.4 (partial)
Time limit:
1.0s
JAVA11
2.0s
Pypy 3
2.0s
Memory limit:
98M
JAVA11
977M
Pypy 3
977M
Author:
Problem type
Có \(16\) đồng xu xếp thành bảng \(4 \times 4\), mỗi đồng xu có thể úp hoặc ngửa. Tại mỗi bước ta thể chọn một đồng xu rồi thay đổi trạng thái của đồng xu đó và tất cả các đồng xu chung cạnh (úp thành ngửa, ngửa thành úp).
Cho hai trạng thái các đồng xu, hãy tìm xem để biến đổi từ trạng thái này sang trạng thái kia cần tối thiểu bao nhiêu bước.
Đầu vào
Dòng đầu tiên chứa số nguyên \(t\), số test con \((1 \le t \le 100000)\).
Các dòng tiếp theo, mỗi \(8\) dòng đặc tả một test con:
- \(4\) dòng đầu tiên, mỗi dòng chứa \(4\) kí tự (\(0\) hoặc \(1\)) viết liền mô tả trạng thái bắt đầu.
- \(4\) dòng tiếp theo, mỗi dòng chứa \(4\) kí tự (\(0\) hoặc \(1\)) viết liền mô tả trạng thái kết thúc.
Mỗi test con được ngăn cách bởi một dấu cách.
Đầu ra
\(t\) dòng, mỗi dòng chứa duy nhất một số nguyên, nếu không có cách biến đổi nào thì xuất ra \(-1\).
Subtask
\(40\%\) số test có \(t = 1\).
Ví dụ
Đầu vào:
2
0000
0100
1110
0100
0000
0010
0111
0010
1100
0000
1100
0000
0000
0000
0000
0000
Đầu ra:
2
-1
Comments
Bản demo cho trò chơi: https://nguyenson2003.github.io/web/nqgame/simon.html