Lập phương
View as PDF Time limit: 1.0s , Memory limit: 256M , Points: 100 (partial)
Một khối lập phương không gian 3 chiều kích thước \(n×n×n\), được chia thành khối lập phương đơn vị. Mỗi khối đơn vị được ký hiệu bởi tọa độ
, trong đó
và
là tọa độ không gian ở độ cao
.
Có thể di chuyển qua lại giữa các khối đơn vị và chỉ có thể di chuyển theo hướng song song với một trong 3 mặt của khối lập phương. Cụ thể, xuất phát từ khối có thể đi đến một trong các khối (nếu tồn tại):
,
,
,
,
hoặc
. Ngoài ra, một số khối đơn vị có vật cản nên không thể di chuyển đến các khối đơn vị này.
Hãy xác định số lần di chuyển ít nhất để xuất phát từ khối tọa độ đến được khối tọa độ
.
Input
- Dòng đầu tiên chứa số nguyên
.
- Dòng thứ hai chứa ba số nguyên
.
- Dòng thứ ba chứa ba số nguyên
.
- Tiếp theo là
ma trận kích thước \(n×n\) mô tả các khối đơn vị, với ma trận thứ
mô tả không gian ở độ cao
, trong đó giá trị
biểu thị khối tại tọa độ đó không chứa vật cản và giá trị
biểu thị khối có chứa vật cản.
- Dữ liệu đảm bảo tại khối xuất phát và khối đích không chứa vật cản.
Output
- In ra một số nguyên là số lần di chuyển ít nhất. Nếu không tồn tại cách di chuyển nào, in ra
.
Samples
Sample Input 1
2
1 1 1
1 1 2
00
10
01
00
Sample Output 1
1
Sample Input 2
3
2 3 1
1 1 1
000
010
000
111
111
111
111
111
111
Sample Output 2
3
Sample Input 3
3
2 1 1
3 2 2
000
010
110
010
001
001
101
110
000
Sample Output 3
3
Scoring
- Subtask
với
số điểm:
- Subtask
với
số điểm: Không có khối nào chứa vật cản
- Subtask
với
số điểm: Tất cả các khối có độ cao lớn hơn
đều chứa vật cản
- Subtask
với
số điểm: Không có ràng buộc gì thêm
Clarification
- Trong ví dụ đầu tiên, có thể xuất phát từ khối có tọa độ
và đến khối có tọa độ
với
lần di chuyển duy nhất.
- Trong ví dụ thứ ba, có thể di chuyển
lần đến lần lượt các khối có tọa độ
,
và
.
Comments