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:为什么没人写pascal

Posted by zhanglexingzlx at 2015-07-21 14:58:38 on Problem 2142
In Reply To:为什么没人写pascal Posted by:jinzhihan at 2013-10-19 16:06:57
有啊。。。。
var a,b,c,x,y,k,x1,y1,t1,t2:longint;
function gcd(a,b:longint):longint;
var t,d:int64;
begin
if b=0 then
   begin
   x:=1;
   y:=0;
   exit(a);
   end;
d:=gcd(b,a mod b);
t:=x;
x:=y;
y:=t-(a div b)*y;
exit(d);
end;
begin
readln(a,b,c);
while (a<>0)or(b<>0)or(c<>0) do
      begin
      k:=gcd(a,b);
      x1:=x*(c div k);
      y1:=y*(c div k);
      t1:=b div k;
      t2:=a div k;
      while abs(x1+t1)+abs(y1-t2)<abs(x1)+abs(y1) do
            begin
            x1:=x1+t1;
            y1:=y1-t2;
            end;
      while abs(x1-t1)+abs(y1+t2)<abs(x1)+abs(y1) do
            begin
            x1:=x1-t1;
            y1:=y1+t2;
            end;
      while (abs(x1+t1)+abs(y1-t2)=abs(x1)+abs(y1))and
            (abs(a*(x1+t1))+abs(b*(y1-t2))<abs(a*x1)+abs(b*y1)) do
            begin
            x1:=x1+t1;
            y1:=y1-t2;
            end;
      while (abs(x1-t1)+abs(y1+t2)=abs(x1)+abs(y1))and
            (abs(a*(x1-t1))+abs(b*(y1+t2))<abs(a*x1)+abs(b*y1)) do
            begin
            x1:=x1-t1;
            y1:=y1+t2;
            end;
      writeln(abs(x1),' ',abs(y1));
      readln(a,b,c);
      end;
end.
暴力~~~~~~~~

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