@@ -289,21 +289,21 @@ fn update_dis(u:Vindex, v:Vindex, w:i32, disu:i64, pre:&mut Vec<Vindex>, dis:&mu
289
289
in_queue : & mut Vec < bool > ,
290
290
queue : & mut VecDeque < Vindex > , iter : & mut i32 , n : Vindex ) -> Vec < Vindex > {
291
291
pre[ v] = u;
292
- dis[ v] = disu + w as i64 ;
292
+ dis[ v] = disu + w as i64 ;
293
293
* iter+=1 ;
294
- if * iter == n. value
294
+ if * iter == n. value
295
295
{
296
296
* iter = 0 ;
297
297
let cycle=detect_cycle ( n, pre) ;
298
298
if !cycle. is_empty ( ) {
299
299
return cycle;
300
300
}
301
301
}
302
- if !in_queue[ v]
303
- {
302
+ if !in_queue[ v]
303
+ {
304
304
queue. push_back ( v) ;
305
- in_queue[ v] = true ;
306
- }
305
+ in_queue[ v] = true ;
306
+ }
307
307
return Vec :: new ( ) ;
308
308
}
309
309
@@ -314,31 +314,31 @@ fn spfa_early_terminate(n: Vindex, adj:&Vec<Vec<(Vindex, i32)>>, adj2: &Vec<Vec<
314
314
let mut in_queue= vec ! [ true ; n. as_usize( ) ] ;
315
315
let mut queue: VecDeque < Vindex > =VecDeque :: new ( ) ;
316
316
for i in 0 ..n. as_usize ( ) {
317
- queue. push_back ( Vindex :: from_usize ( i) ) ;
317
+ queue. push_back ( Vindex :: from_usize ( i) ) ;
318
318
}
319
319
let mut iter = 0 ;
320
320
321
- while !queue. is_empty ( )
322
- {
323
- let u = * queue. front ( ) . unwrap ( ) ;
324
- queue. pop_front ( ) ;
325
- in_queue[ u] = false ;
321
+ while !queue. is_empty ( )
322
+ {
323
+ let u = * queue. front ( ) . unwrap ( ) ;
324
+ queue. pop_front ( ) ;
325
+ in_queue[ u] = false ;
326
326
let disu: i64 =dis[ u] ;
327
327
// cout << adj[u].len() << endl;
328
328
329
- for i in 0 ..adj[ u] . len ( ) {
329
+ for i in 0 ..adj[ u] . len ( ) {
330
330
let ( v, w) : ( Vindex , i32 ) =adj[ u] [ i] ;
331
331
let disv: i64 =dis[ v] ;
332
332
if pre[ u] ==v { // Don't allow cycles of 2.
333
333
continue ;
334
334
}
335
335
if ( disu + w as i64 ) < disv
336
- {
337
- let cycle=update_dis ( u, v, w, disu, & mut pre, & mut dis, & mut in_queue, & mut queue, & mut iter, n) ;
336
+ {
337
+ let cycle=update_dis ( u, v, w, disu, & mut pre, & mut dis, & mut in_queue, & mut queue, & mut iter, n) ;
338
338
if !cycle. is_empty ( ) { return cycle; }
339
- }
339
+ }
340
340
}
341
- }
341
+ }
342
342
return detect_cycle ( n, & pre) ;
343
343
}
344
344
@@ -619,7 +619,7 @@ fn decrease_total_cost( N:Vindex,adj:&mut Vec<Vec<(Vindex, i32)>>,adj2:&mut Vec<
619
619
// elapsed("early terminate negative_cycle", begin);
620
620
// let begin=Instant::now();
621
621
if ( debug) {
622
- println ! ( "early terminate negative_cycle: {}" , negative_cycle. len( ) )
622
+ println ! ( "early terminate negative_cycle: {}" , negative_cycle. len( ) )
623
623
}
624
624
let mut min_capacity=i32:: MAX ;
625
625
let mut min_cost_idxs: Vec < Vindex > =Vec :: new ( ) ;
0 commit comments