Thử thách số rắn
Tôi tự hỏi có bao nhiêu số rắn có từ 1 đến 50.000?
Snakes Numbers, trong trò chơi này, là những số có thể được gõ trên bàn phím số truyền thống (định dạng bên dưới) bằng cách di chuyển một phím lên, xuống, sang trái hoặc phải.
7 8 9
4 5 6
1 2 3
0
Ví dụ: nếu bạn bắt đầu với số 5, bạn có thể chọn 4, 6, 8 hoặc 2 làm bước di chuyển hợp lệ tiếp theo của mình - tuy nhiên 7, 3, 9 và 1 là ngoài giới hạn vì chúng được đặt theo đường chéo với khóa hiện tại . Vì vậy, nếu bạn có 5, sau đó 2, các lựa chọn khóa khả thi tiếp theo của bạn là 0, 1, 3 hoặc 5 một lần nữa.
Trong bài tập Code Golf này, bạn phải đưa ra một danh sách tất cả các số rắn tích cực trong khoảng từ 1 đến 50k, cùng với số đếm cuối cùng của tất cả các số đáp ứng tiêu chí.
Quy tắc
- Số không thể bắt đầu bằng số không.
- Số phải là số nguyên dương.
- Mỗi số liên tiếp, đọc từ trái sang phải, phải "rắn" xung quanh bàn phím số.
- Con rắn không thể đi theo đường chéo trên các phím
- Số 0 có thể được truy cập từ cả hai số 1 và 2
- Các số không thể được ghép nối (ví dụ: 22)
Ví dụ về số Snakes hợp lệ:
12369
45201
1254
10102
1
12
987
Ví dụ về các số không hợp lệ
1238 - 8 is not connected
0001 - multiple leading 0s
0101 - leading 0
159 - snake cannot travel diagonally
4556 - duplicate 5
Theo Code Golf thông thường, mục tiêu là ít byte nhất!
Theo toán học và quy tắc của tôi, bạn nên có 670 số bắt rắn hợp lệ trong danh sách của mình, cộng với số 670 được in là số cuối cùng.
