POJ2356
題意:給出N個(gè)數(shù)(N<=10000),求是否可以找到連續(xù)的若干個(gè)數(shù),使得他們的和為N的倍數(shù).
分析:首先根據(jù)抽屜原理,這個(gè)方案一定存在.
邊讀邊做,記錄1~i的和模N的余數(shù),如果這個(gè)數(shù)出現(xiàn)過(guò),那么就可以輸出方案了.
code(0MS):
var a,sum,bool:array[0..10001] of longint;n,i:longint;procedure print(l,r:longint);var o:longint;beginwriteln(r-l+1);for o:=l to r do writeln(a[o]);halt;end;beginreadln(n);for i:=1 to n dobeginreadln(a[i]);sum[i]:=(sum[i-1]+a[i]) mod n;if sum[i]=0 then print(1,i)else if bool[sum[i]]<>0 then print(bool[sum[i]]+1,i)else bool[sum[i]]:=i;end; end.轉(zhuǎn)載于:https://www.cnblogs.com/exponent/archive/2011/08/12/2136410.html
總結(jié)
- 上一篇: 【转载】 详细介绍Flex中操作XML
- 下一篇: java 星期几、得周一、得周日、上周、