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
, 1
và 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