} if(a!=a[j])
6 M! ?% p s" C2 T, [ { //如果每相邻的两个加油站间的距离不相等且都小于N5 r. T5 m) c8 Z- m* h
if( add(a,m,k) < N && add(a,m,k+1) > N )) Z: L5 k, j( r
{7 b* b+ s. k y4 i- C/ i Y
b[k]=1;- f0 q$ [9 j- U
m+=k;$ N+ T) L0 F% ]1 L
}
/ m* f; ?) Q. V2 o. O* t return add(b,0,n);
% b0 ^/ P ?8 E9 Y2 D }
; x' Y% }4 e q5 o1 j viod main( )
: g ~8 N+ e; s$ W/ V {
& H6 e2 h r" j int a[ ];
$ I8 t9 e" h# \ scanf("%d",a);" D& T7 i1 g3 `7 n2 e4 T
scanf("/n");
/ t3 @$ Q, l5 s/ F' j scanf("/d",&N);
# K" i+ x! C! f* H Tanxin(a[ ],0,n);; K, r- h+ F& h! Y$ y! A$ o
}
" r$ }. ^6 D3 W7 \# `3 T2 U9 x- `$ r 贪心算法正确性证明:) z" ~" h; t0 W l3 M0 W" x
贪心选择性质& F u# t+ H/ f' r# ]
+ h! P# Y! g( \* k! u7 z# J; | 所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。对于一个具体的问题,要确定它是否具有贪心性质,我们必须证明每一步所作的贪心选择最终导致问题的一个整体最优解。该题设在加满油后可行驶的N千米这段路程上任取两个加油站A、B,且A距离始点比B距离始点近,则若在B加油不能到达终点那么在A加油一定不能到达终点,因为m+N |