Mục tiêu của bạn là để viết một chương trình tạo ra một bản đồ ngẫu nhiên 10x10 sử dụng 0, 1và 2, và tìm thấy con đường đi ngắn nhất từ phía trên bên trái xuống dưới bên phải, giả định rằng:
0 đại diện cho một cánh đồng cỏ: bất cứ ai cũng có thể đi trên đó;
1 đại diện cho một bức tường: bạn không thể vượt qua nó;
2 đại diện cho một cổng thông tin: khi vào một cổng thông tin, bạn có thể di chuyển đến bất kỳ cổng thông tin nào khác trên bản đồ.
Thông số kỹ thuật:
- Phần tử trên cùng bên trái và phần tử dưới cùng bên phải phải là 0 ;
- Khi tạo bản đồ ngẫu nhiên, mọi trường sẽ có 60% cơ hội là 0 , 30% là 1 và 10% là 2 ;
- Bạn có thể di chuyển trong bất kỳ trường liền kề (ngay cả những đường chéo);
- Chương trình của bạn sẽ xuất bản đồ và số bước của con đường ngắn nhất;
- Nếu không có đường dẫn hợp lệ dẫn đến trường dưới cùng bên phải, chương trình của bạn sẽ chỉ xuất bản đồ;
- Bạn có thể sử dụng bất kỳ tài nguyên nào bạn muốn;
- Mã ngắn nhất sẽ thắng.
Các bước tính toán:
Một bước là một chuyển động thực tế; Mỗi khi bạn thay đổi trường, bạn tăng bộ đếm.
Đầu ra:
0000100200
0100100010
1000000111
0002001000
1111100020
0001111111
0001001000
0020001111
1100110000
0000020100
9

