| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:就用搜索也不慢啊,1秒左右能出来In Reply To:暴力搜索怎么做才能快点阿 Posted by:first at 2003-11-15 10:21:13 Var
m,k,n,d :longint;
s :array[0..28] of byte;
Procedure Main;
Var
i,x,z :longint;
Begin
readln(k);
n:=2*k;
for m:=1 to 2600000 do
Begin
for i:=1 to n do
s[i]:=i;
d:=n; z:=1;
Repeat
x:=(m-1) mod d+z;
if x>d then x:=x-d;
if s[x]<=k
then break
else Begin
for i:=x to d-1 do
s[i]:=s[i+1];
s[d]:=0;
dec(d);
z:=x;
End;
Until d=k;
if d=k then Begin writeln(m); break; End;
End;
End;
Begin Main; En
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator