Không sao
Hỏng thì thử lại
Đến khi nào được thì thôi
Mỗi lần hỏng
thêm 1 kinh nghiệm
như vậy càng tốt
Không sao
Hỏng thì thử lại
Đến khi nào được thì thôi
Mỗi lần hỏng
thêm 1 kinh nghiệm
như vậy càng tốt
@Foolpro: bạn nói lại cách của bạn đc ko, mình kiếm bài của bạn mà ko thấy ...
Mình lưu ý bạn là do không đọc kĩ đề mà mình nhầm bomb có thể phá những vị trí trên, dưới, trái, phải và nơi nó được thả (cái này chắc ko ảnh hưởng tới thuật toán)
Thế này
1, Đầu tiên duyệt mảng a: nếu thấy tank thì +1 vào những phần tử có thể phá tank đó trong mảng kq
vd luôn
a:
1 0 0
0 0 0
0 0 0
thì kq:
1 1 0
1 0 0
0 0 0
2/ duyệt lại mảng a nếu thấy tank thì kiểm tra trong kq, những ô có thể phá được tank đó xem ô nào max thì chọn( nếu có 2 ô max thì chọn ô nào sát cạnh)
3/ mỗi lần thả 1 bomb xuống thì phải đánh dấu những tank bị phá + và trừ 1
ở những vị trí trong kq có thể phá các tank đó
Thế thôi
Ngoài ví dụ trên kia
Mình xin cho thêm 1 ví dụ nữa
a:
0 1 1
0 0 1
1 1 0
kq ban đầu:
1 2 3
0 3 2
2 2 1
thì thấy tank ở a[1,2] --> bomb ở kq[1,3]
a:
0 0 0
0 0 0
1 1 0
kq:
1 0 2
0 1 0
2 2 0
Lại đến a[3,1] chưa phá thì phá nốt thôi theo thuật toán mà
Nếu có ý kiến đóng góp xin bạn post lên ngay để cùng thảo luận <thanks>
Được sửa bởi Foolpro lúc 19:57 ngày 24-09-2007
Sao thế, 2 ngày qua rồi mà chẳng bạn nào góp ý vậy
Các bạn tích cực lên đi, bài này khá hay mà
Thân gửi bạn Foolpro,
Tui xin có chút thắc mắc với cách giải của bạn:
1)
có 2 khả năng, mình cứ chọn 1 giả sử như bomb [2,1] => bạn phải quay lui để xét khả năng kia (bom ở [1,2]) nữa chớ !?+Khi bomb 1 nơi nào đó thì có các tank bị phá, trừ giá trị của mảng kq ở xung quanh những nơi có tank bị phá
Còn về ví dụ của bete có thể giải như sau
a:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
kq:
3 4 4 3
4 5 5 4
4 5 5 4
3 4 4 3
Khi đó:
đến a[1,1] thì có 2 khả năng, mình cứ chọn 1 giả sử như bomb [2,1] thì
a:
0 1 1 1
0 0 1 1
0 1 1 1
1 1 1 1
kq:
2 3 4 3
0 4 5 4
3 3 5 4
2 4 4 3
tiếp tục làm đến a[1,2] thì tìm được vị trí bomb là [1,3]
tìm được vị trí bomb là [1,3] => tương tự: bạn phải quay lui để xét khả năng kia (bom ở [2,2]) nữa chớ !?
2)
nếu có 2 ô max thì chọn ô nào sát cạnh => tại sao bạn lại chỉ chọn ô sát cạnh mà không xét ô kia ? Lỡ như chọn ô kia sẽ cho lời giải tốt hơn thì sao ?2/ duyệt lại mảng a nếu thấy tank thì kiểm tra trong kq, những ô có thể phá được tank đó xem ô nào max thì chọn( nếu có 2 ô max thì chọn ô nào sát cạnh)
(hiểu biết nông cạn; có gì sai sót mong được góp ý, xin cám ơn)
-thân
Như vầy bete ạ
Nếu có ô sát cạnh mà đạt max thì tất nhiên là sẽ hơn ô ngoài rồi
Cái này là do làm nhiều mình nghĩ ra, để xem có thể giải thích không nha
Thân gửi Foolpro,
Như vậy thì theo bạn:Nếu có ô sát cạnh mà đạt max thì tất nhiên là sẽ hơn ô ngoài rồi
a:
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
kq:
3 4 4 3
4 5 5 4
4 5 5 4
3 4 4 3
Khi đó: đến a[1,1] thì có 2 khả năng, mình cứ chọn bomb [2,1] mà không cần xét đặt bom ở [1,2] ?
Bạn có bao giờ thử tìm 1 ví dụ mà bom ở [1,2] sẽ tốt hơn bom ở [2,1] chưa ? Nếu chưa thì tui nghĩ bạn nên bỏ chút thì giờ ra tìm thử
-thân
Thân gửi bete
Mình sẽ cố gắng
Nhưng chắc sẽ chứng minh được bomb ở ô sát cạnh tốt hơn
Nếu ai có ý kiến đóng góp xin post lên ngay để mọi ngưởi cùng trao đổi
<thanks>
Thân gửi bạn Foolpro,
Bạn giải chi tiết giùm các trường hợp sau được không:
Xin cám ơn trướcCode:1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0
-thân
Mình chịu thua rồi
Có lẽ trước mắt chỉ có thể vét cạn bài này thôi
Còn nếu nghĩ ra điều gì để khắc phục mình sẽ post lên ngay <thanks>
Bookmarks