Mike và Điện thoại
Đề bài
Mô tả
Mike có một điện thoại cũ với bàn phím phím sắp xếp như sau:
1 2 3
4 5 6
7 8 9
0
Tất cả các phím có cùng kích thước, hàng cuối chỉ có một phím nằm chính giữa (ngay dưới phím ). Mike vừa quay một số điện thoại bằng "trí nhớ ngón tay" của mình — tức anh chỉ nhớ chuỗi các vector dịch chuyển giữa các phím đã bấm liên tiếp (mỗi vector nối tâm hai phím liên tiếp).
Cho số mà Mike đã quay, hãy xác định: liệu có tồn tại số khác (cùng độ dài) tạo ra đúng dãy vector dịch chuyển ngón tay như vậy không?
In ra "YES" nếu Mike chắc chắn đang gọi đúng số (tức không có số nào khác cùng dấu vân tay), ngược lại in "NO".
Dữ liệu vào
- Dòng đầu chứa số nguyên () — số chữ số.
- Dòng thứ hai chứa chuỗi chữ số ('0'–'9').
Dữ liệu ra
In ra "YES" hoặc "NO" trên một dòng duy nhất.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 586 |
NO | Dãy vector của "586" trùng với "253" (cùng đi sang trái rồi xuống) nên không duy nhất. |
| 2 09 |
NO | "09" và "42" cùng có vector ngón tay (lên 1 đơn vị, sang phải 1 đơn vị). |
| 9 123456789 |
YES | Mọi phím đều được dùng, không có cách dịch nào khác giữ hợp lệ. |
| 3 911 |
YES | Dịch sang bất kỳ phím bắt đầu nào khác đều rơi ra ngoài bàn phím. |
Bình luận