比赛 20110923 评测结果 AAAWATTTTT
题目名称 横幅 最终得分 40
用户昵称 wo shi 刘畅 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2011-09-23 21:24:34
显示代码纯文本
var
  i,j,k,d,kk,ii,jj,ll,l,w,h,l1,l2:longint;
  ans:int64;
  f:array[0..1000,0..1000]of boolean;

function dis(i,j,k,l:longint):longint;
begin
  dis:=sqr(k-i)+sqr(l-j);
end;

function gcd(x,y:longint):longint;
begin
  if y=0 then exit(x);
  gcd:=gcd(y,x mod y);
end;

begin
  assign(input,'banner.in'); reset(input);
  assign(output,'banner.out'); rewrite(output);
  readln(w,h,l1,l2);
  inc(w);
  inc(h);

  for i:=1 to w do
   for j:=1 to h do
   if gcd(i,j)=1 then f[i,j]:=true;

  for i:=1 to w do
   for j:=1 to h do
    for k:=1 to w do
    if i<>k then
     for l:=1 to h do
     if (l<>j) then
     begin
       d:=dis(i,j,k,l);
       ii:=i;
       jj:=j;
       kk:=k;
       ll:=l;
       if (k<i)and(l>j) then
       begin
         kk:=i+i-k;
       end;

       if (k<i)and(l<j) then
       begin
         kk:=i+i-k;
         ll:=j+j-l;
       end;

       if (k>i)and(l<j) then
       begin
         ll:=j+j-l;
       end;

       if (l1*l1<=d)and(d<=l2*l2)and(f[kk-ii,ll-jj]) then
       begin
         inc(ans);

       end;
     end;
  writeln(ans div 2);
  close(input);
  close(output);
end.