POJ2356
題意:給出N個數(N<=10000),求是否可以找到連續的若干個數,使得他們的和為N的倍數.
分析:首先根據抽屜原理,這個方案一定存在.
邊讀邊做,記錄1~i的和模N的余數,如果這個數出現過,那么就可以輸出方案了.
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.轉載于:https://www.cnblogs.com/exponent/archive/2011/08/12/2136410.html
總結
- 上一篇: 【转载】 详细介绍Flex中操作XML
- 下一篇: java 星期几、得周一、得周日、上周、