ac1058.pas

来自「某牛人写的acm.tongji.edu.cn上大部分ac的代码,仅供学习研究,请」· PAS 代码 · 共 42 行

PAS
42
字号
program tju1058;
const
  maxt=400;
var
  x1,y1,x2,y2:array[1..maxt]of longint;
  n,u,l,w,t,i,j,s:longint;
function disjoint:boolean;
  begin
    for i:=1 to t-1 do
      for j:=i+1 to t do
        if (x1[i]<x2[j]) and (x1[j]<x2[i]) and (y1[i]<y2[j]) and (y1[j]<y2[i]) then begin
          writeln('NONDISJOINT');
          disjoint:=false;
          exit;
        end;
    disjoint:=true;
  end;
function contained:boolean;
  begin
    for i:=1 to t do
      if (x1[i]<0) or (y1[i]<0) or (x2[i]>l) or (y2[i]>w) then begin
        writeln('NONCONTAINED');
        contained:=false;
        exit;
      end;
    contained:=true;
  end;
begin
  read(n);
  for u:=1 to n do begin
    read(l,w,t);
    for i:=1 to t do
      read(x1[i],y1[i],x2[i],y2[i]);
    if disjoint and contained then begin
      s:=0;
      for i:=1 to t do
        inc(s,(x2[i]-x1[i])*(y2[i]-y1[i]));
      if s=l*w then writeln('OK') else writeln('NONCOVERING');
    end;
  end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?