File tree 1 file changed +5
-6
lines changed
1 file changed +5
-6
lines changed Original file line number Diff line number Diff line change 1
- use std:: collections:: { BinaryHeap , HashSet } ;
2
- use std:: cmp:: Reverse ;
1
+ use std:: collections:: { HashSet , VecDeque } ;
3
2
use std:: io:: Read ;
4
3
5
4
fn main ( ) {
@@ -23,11 +22,11 @@ fn main() {
23
22
let height = map. len ( ) as i16 ;
24
23
let width = map[ 0 ] . len ( ) as i16 ;
25
24
26
- let mut open_set = BinaryHeap :: new ( ) ;
27
- open_set. push ( ( Reverse ( 0 ) , 0 , start) ) ;
25
+ let mut open_set = VecDeque :: new ( ) ;
26
+ open_set. push_back ( ( 0 , start) ) ;
28
27
let mut visited = HashSet :: new ( ) ;
29
28
30
- while let Some ( ( _ , dist, pos) ) = open_set. pop ( ) {
29
+ while let Some ( ( dist, pos) ) = open_set. pop_front ( ) {
31
30
let old_height = map[ pos[ 0 ] as usize ] [ pos[ 1 ] as usize ] ;
32
31
if old_height == 0 {
33
32
println ! ( "{}" , dist) ;
@@ -52,7 +51,7 @@ fn main() {
52
51
}
53
52
54
53
visited. insert ( new_pos) ;
55
- open_set. push ( ( Reverse ( new_dist ) , new_dist, new_pos) ) ;
54
+ open_set. push_back ( ( new_dist, new_pos) ) ;
56
55
}
57
56
}
58
57
}
You can’t perform that action at this time.
0 commit comments