Khóa số

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: KHOASO.INP Output: KHOASO.OUT

Bạn có một ổ khóa số gồm ba chữ số (có giá trị từ \(0-9\)). Mỗi vị trí có thể xoay thuận chiều (tăng giá trị lên một) hoặc ngược chiều (giảm giá trị đi một).

Đặc biệt, do các giá trị được xếp theo vòng tròn nên số \(0\) và số \(9\) ở liên tiếp nhau. Tại vị trí có giá trị là \(9\), xoay thuận chiều sẽ được \(0\) và ngược lại, từ giá trị \(0\), xoay ngược chiều sẽ được \(9\).

Yêu cầu: Bạn đang ở trạng thái ban đầu (000), và cần chuyển đến trạng thái cuối là số \(\overline{abc}\) cho trước. Hỏi cần phải xoay ít nhất bao nhiêu lần?

Input

  • Dữ liệu đọc từ tệp văn bản KHOASO.INP:
    • Dòng duy nhất chứa ba chữ số \(\overline{abc}\) được viết liền nhau (\(0 \le a, b, c \le 9\)).

Output

  • Ghi ra tệp văn bản KHOASO.OUT:
    • Dòng duy nhất chứa kết quả bài toán.

Example

Test 1

Input
129
Output
4
Note

Tiến hành xoay khóa như sau: 000 \(\rightarrow\) 100 \(\rightarrow\) 110 \(\rightarrow\) 120 \(\rightarrow\) 129

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: