trang chủ / bài tập / mikephone

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 10 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 0 nằm chính giữa (ngay dưới phím 8). 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 n (1n9) — số chữ số.
  • Dòng thứ hai chứa chuỗi n 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

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0