Bài toán TACANH
Submit solution
Points:
3
Time limit:
1.0s
Python 3
5.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Bài toán TACANH là 1 bài toán biến đổi trên bảng số.
Trong bài này ta xét bảng số \(3*3\) điền các số khác nhau từ 0 đến 9, mỗi bước biến đổi cho phép hoán đổi số 0 với một trong 4 láng giềng sát bên nếu có.
\[\left[ \begin{matrix} 2 & 0 & 3 \\ 1 & 4 & 6 \\ 7 & 5 & 8 \\ \end{matrix} \right] \to \left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 0 \\ \end{matrix} \right]\]
Nhiệm vụ của bạn là nhập vào trạng thái xuất phát và kết thúc hãy in ra số phép biến đổi ít nhất để biến đổi trạng thái xuất phát thành kết thúc, nếu bài toán không có lời giải chỉ cần xuất ra \(-1\).
Input
Gồm hai ma trận mỗi ma trận cỡ \(3*3\) cách nhau bởi một dòng trống
Output
Số phép biến đổi ít nhất
Ví dụ 1
Input
1 2 3
4 5 6
7 8 0
2 3 1
4 5 6
7 8 0
Output
16
Ví dụ 2
Input
1 2 3
4 5 6
7 8 0
2 1 3
4 5 6
7 8 0
Output
-1
Comments
Code tham khảo