Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:就用搜索也不慢啊,1秒左右能出来

Posted by 808 at 2004-04-14 11:29:38 on Problem 1012
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator