Mở khoá
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
488M
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
Leorio giữ tiền của anh ta trong một cái két với khoá xoay số ở ngoài. Mỗi lần muốn lấy tiền ra hoặc nhét tiền vào, anh ta phải mở khoá.
Khoá này sẽ có \(n\) ổ đĩa xoay gồm các số từ 0 đến 9. Mỗi lần xoay, anh ta có thể xoay tịnh tiến hoặc lùi về 1 số. Trong trường hợp số ở ổ đĩa đang là 9, nếu xoay tịnh tiến thì ổ đĩa sẽ trở về số 0, và ngược lại.
Tất nhiên là Leorio biết mật khẩu của cái khoá này. Cho trạng thái hiện tại của khoá xoay, hãy tính số lần xoay ít nhất để mở được khoá.
Input
- Dòng đầu tiên là số nguyên \(t\) (t <= 100) ứng với số bộ test.
- Dòng thứ hai là số nguyên \(n\) (1 <= n <= 1000) chỉ số ổ đĩa xoay.
- Hai dòng tiếp theo là chuỗi có độ dài \(n\) chỉ trạng thái của khoá xoay và mật khẩu của khoá.
Output
- Với mỗi test, in ra một số duy nhất là kết quả của bài toán.
Example
Input 1
1
5
82195
64723
Output 1
13
Giải thích:
- Ổ đĩa 1: 8 -> 7 -> 6
- Ổ đĩa 2: 2 -> 3 -> 4
- Ổ đĩa 3: 1 -> 0 -> 9 -> 8 -> 7
- Ổ đĩa 4: 9 -> 0 -> 1 -> 2
- Ổ đĩa 5: 5 -> 4 -> 3
Tổng cộng 13 lần xoay.
Comments