- 均分纸牌
- 2016-07-24 19:48:56 @
是不是呢?
3 条评论
-
Flokirie LV 8 @ 2017-06-29 21:22:20
第一,将所有堆纸牌数减去平均数,这样所有纸牌数变成正数、负数、0。
第二,直接模拟,从1到N-1,方向为向右给牌,比如现在第一堆有5张,就给第二堆5张;第一堆有-3张,就给第二堆-3张(即第二堆给第一堆3张)。 -
2016-12-11 15:19:33@
贪心。
var
a:array[1..100] of longint;
n, i, x, s:longint;
begin
readln(n);
for i:=1 to n do read(a[i]);
x:=0;
for i:=1 to n do inc(x, a[i]);
x:=x div n;
s:=0;
for i:=1 to n-1 do if a[i]<>x then begin
a[i+1]:=a[i]+a[i+1]-x;
inc(s)
end;
write(s)
end. -
2016-10-29 09:30:42@
贪心
- 1