Ổ khóa mã số
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Farmer John có một ổ khóa mã số với ba vòng quay, mỗi vòng được đánh số từ đến (). Các vòng quay theo kiểu vòng tròn, nghĩa là số và số nằm cạnh nhau.
Ổ khóa có hai mã mở: một mã của Farmer John và một mã chính (master). Ổ khóa sẽ mở nếu cả ba vòng quay đều nằm trong phạm vi vị trí so với mã tương ứng (có thể là mã của Farmer John hoặc mã chính).
Ví dụ, với , nếu mã của Farmer John là và mã chính là , thì thiết lập sẽ mở được khóa (vì cách đúng vị trí trên vòng tròn, cách đúng vị trí, và cách đúng vị trí).
Hãy đếm số bộ ba thiết lập phân biệt có thể mở được ổ khóa.
Dữ liệu vào
- Dòng đầu tiên: số nguyên .
- Dòng thứ hai: ba số nguyên là mã của Farmer John.
- Dòng thứ ba: ba số nguyên là mã chính.
Dữ liệu ra
- Một số nguyên duy nhất: số bộ ba thiết lập phân biệt có thể mở được ổ khóa.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 50 1 2 3 5 6 7 |
249 | Mỗi mã có tổ hợp hợp lệ. Hai mã không trùng nhau nên tổng là . Tuy nhiên bộ thỏa mãn cả hai mã nên bị đếm trùng, kết quả là . |
| 1 1 1 1 1 1 1 |
1 | Chỉ có một giá trị có thể cho mỗi vòng quay nên chỉ có đúng bộ ba. |
Bình luận