Мәліметтерді шығару форматты
Шығыс файлға әрбір қос хорладың үшін бір жол жазылу керек- YES, егер хордалар қиылып кетеді, немесе Noегер хордалар қиылыспайды (сүйкелмейді).
Мысал
A.in
|
A.out
|
4 3
1 3 2 4
1 2 3 4
1 2 3 2
|
YES
NO
YES
|
uses crt;
var e,w,q,i,j,k,l,m,n:longint;
a:array[1..4,1..100]of longint;
b:boolean;
function min(var i,j:longint):longint;
begin
if(iend;
function max(var i,j:longint):longint;
begin
if(i
end;
begin
assign(input,'a.in');reset(input);
assign(output,'a.out');rewrite(output);
readln(n,k);
for i:=1 to k do readln(a[1,i],a[2,i],a[3,i],a[4,i]);
for i:=1 to k do begin
if(a[1,i]=a[3,i])or(a[2,i]=a[4,i])then writeln('YES')else begin
b:=false;
q:=abs(a[1,i]-a[2,i]);
if(q<=n-q)then begin
for l:=min(a[1,i],a[2,i])to max(a[1,i],a[2,i])do begin
for j:=max(a[3,i],a[4,i])downto min(a[3,i],a[4,i])do
if(l=j)then begin
b:=true;
writeln('YES');
break;
end;
if b then break;
end;
if(not b)then writeln('NO');
end else begin
e:=max(a[1,i],a[2,i]);
w:=max(a[3,i],a[4,i]);
b:=false;
for l:=min(a[1,i],a[2,i])to max(a[1,i],a[2,i])do begin
if(e=n+1)then e:=1 else inc(e);
for j:=min(a[3,i],a[4,i])to max(a[3,i],a[4,i])do
begin
w:=w-1;
if(e=w)then begin
b:=true;
writeln('YES');
break;
end; end;
if b then break;
end;
if not b then begin writeln('NO');end;
end;
end; end;
close(input);close(output);
end.
Достарыңызбен бөлісу: |