Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
BOXMAN - BOXMAN |
Dạo này kinh tế suy thoái nên học bổng cũng ít đi khiến cho sơncbg phải nghĩ ra cách tiết kiệm các chi phí của bản thân và việc tiết kiệm tiền điện thoại cũng là đưong nhiên. Cách làm thông dụng nhất hiện nay là mua thêm 1 chiếc điện thoại khác và mua sim khuyến mãi để gọi và nhắn tin (2 tay 2 súng^^ : 1 máy nghe 1 máy gọi). Nghe bạn bè quảng cáo rằng Vinaphone rất nhiều khuyến mại mà giá máy ban đầu lại rẻ nên sơncbg quyết định mua 1 chiếc máy alo của Vinaphone ^^. Mua máy về rồi thì tất nhiên là phải nghịch^^ và sơncbg phát hiện ra rằng trên máy có 1 game giống với game IQ trên dos mà hồi bé mình thường chơi đó là BOXMAN. Trò chơi này được mô tả như sau :
Cho 1 bản đồ kích thước M*N, trên bản đồ có các thùng gỗ( có thể đẩy để di chuyển được), các bức tường( là chướng ngại vật và không thể di chuyển được), và 1 số mục tiêu. Bạn đang ở 1 vị trí cho trước nào đó trên bản đồ. Nhiệm vụ của bạn là phải đẩy các tất cả các thùng gỗ đè lên tất cả các mục tiêu( số thùng gỗ = số mục tiêu).
Vì ngồi ở cuối lớp nên sơncbg và 1 người bạn thân của mình thường xuyên chơi trò này trong giờ. Hai người ngồi dò mãi cũng chỉ chơi được đến mức 15/70. Nản quá nên sơncbg quyết định phải lập trình để chơi cho đỡ vất vả^^( không thì vất vả quá^^). Bạn hãy giúp sơncbg nhé!
Input
- dòng đầu ghi hai số M, N(M, N <= 6)
- M dòng sau mỗi dòng sau mỗi dòng ghi N số biểu diễn bản đồ với quy cách :
+ 0 là khoảng trống trên bản đồ và bạn có thể di chuyển các thùng gỗ cũng như chính bản thân mình^^ vào đó
+ 1 là vị trí ban đầu bạn đang đứng
+ 2 là vị trí của bức tường(chướng ngại vật)
+ 3 là vị trí của các thùng gỗ
( ở bản đồ này không ghi vị trí các mục tiêu)
- M dòng tiếp theo mỗi dòng ghi N số : các mục tiêu ghi số 3 còn lại ghi số 0
Output
- Ghi ra số bước đẩy hộp ít nhất để hoàn thành trò chơi
Example
Input:
3 3
1 0 0
3 3 3
0 0 0
0 0 0
0 0 0
3 3 3
Output:
3
Input:
5 5
0 0 0 1 0
0 2 0 2 0
0 0 0 3 0
0 3 3 0 2
0 0 2 2 2
0 0 3 0 0
0 0 3 0 0
0 0 0 0 0
3 0 0 0 0
0 0 0 0 0
Output:
18
Chú ý rằng muốn đẩy được thùng gỗ thì các bạn phải đứng ở sau thùng gỗ đấy nhé!
Mọi thắc mắc về đề bài liên hệ soncbg
Được gửi lên bởi: | Nguyễn Tuấn Việt Sơn |
Ngày: | 2009-12-11 |
Thời gian chạy: | 0.200s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ASM64 GOSU NODEJS OBJC PERL6 PYPY RUST SED SQLITE VB.NET |
Nguồn bài: | Sáng tác |
hide comments
|
|||||
2009-12-20 08:27:15 Cuong
Bạn ơi hình như test 2 output của bạn sai rùi. Mình tính có 12 lần đẩy hộp thôi: (4,2)->(3,2)->(3,1)->(2,1);(3,4)->(3,3);(4,3)->(4,2)->(3,2);(3,3)->(2,3);(2,1)->(3,1)->(4,1);(2,3)->(1,3);(3,2)->(3,3)->(2,3). Bạn xem có phải ko. |
|||||
2009-12-13 11:21:46 Nguyễn Tuấn Việt Sơn
Mà cậu cho giới hạn số hộp đi. cùng lắm có 36 cái hộp mà cậu |
|||||
2009-12-13 11:19:51 Nguyễn Tuấn Việt Sơn
Mức 70 của trò chơi này theo mình chưa tìm ra được lời giải. Đã sử dụng code của 1 số bạn khác nhưng cũng chưa tìm ra lời giải(mục đích của mình mà). Ai giải được thì liên hệ mình nhé: 6 6 2 1 0 2 2 2 0 3 3 0 3 0 0 0 3 0 2 0 0 0 3 0 0 0 0 2 3 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 3 0 3 0 0 0 3 0 0 0 0 0 3 0 0 0 0 0 3 3 0 0 0 0 0 0 0 0 Có lẽ đây là cửa để chống phá đảo Cool Last edit: 2009-12-13 11:20:43 |
|||||
2009-12-13 11:11:18 Nguyễn Tuấn Việt Sơn
Dung roi day. Tinh hinh la cua 70 ko co cach di roi. |
|||||
2009-12-13 00:53:44 Mệt
Tình hình là nghe có vẻ giống với điện thoại của mình rồi, 300k :)). Có phải ngoài trò này có thêm tetris nữa phải ko :D. Mà cậu cho giới hạn số hộp đi. Last edit: 2009-12-13 00:56:15 |