Cod sursa(job #18353)
Utilizator | Data | 18 februarie 2007 11:44:48 | |
---|---|---|---|
Problema | Zone | Scor | 20 |
Compilator | fpc | Status | done |
Runda | preONI 2007, Runda 2, Clasa a 9-a si gimnaziu | Marime | 2.88 kb |
var a,b:array[0..600,0..600]of longint;
c,d:array[1..16]of longint;
n,i,j,l,k,l1,l2,c1,c2,s,q,w,x,y,z:longint;
procedure ex;
begin
if (l1>0)and(l2>0)and(c1>0)and(c2>0) then exit;
for i:=1 to 9 do c[i]:=d[i];
l1:=0;
l2:=0;
c1:=0;
c2:=0;
for i:=1 to n-1 do
begin
for j:=1 to n-1 do
begin
for l:=1 to 9 do
begin
if c[l]=b[i][j] then
begin
l1:=i;
c1:=j;
c[l]:=-2000000000;
q:=1;
break;
end;
end;
if q=1 then break;
end;
if q=1 then break;
end;
q:=0;
for j:=c1+1 to n do
begin
for i:=1 to 9 do
begin
if c[i]=b[l1][j]-b[l1][c1] then
begin
for k:=1 to 9 do
begin
if c[k]=b[l1][n]-b[l1][j] then
begin
q:=1;
c[k]:=-2000000000;
break;
end;
end;
if q=1 then
begin
c2:=j;
c[i]:=-2000000000;
break;
end;
end;
end;
if q=1 then break;
end;
q:=0;
for i:=l1+1 to n do
begin
for j:=1 to 9 do
begin
if c[j]=b[i][c1]-b[l1][c1] then
begin
for k:=1 to 9 do
begin
if c[k]=b[n][c1]-b[i][c1] then
begin
q:=1;
c[k]:=-2000000000;
break;
end;
end;
if q=1 then
begin
l2:=i;
c[j]:=-2000000000;
break;
end;
end;
end;
if q=1 then break;
end;
end;
begin
assign(input,'zone.in');
reset(input);
assign(output,'zone.out');
rewrite(output);
readln(n);
for i:=1 to 9 do
begin
read(c[i]);
d[i]:=c[i];
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
read(a[i][j]);
b[i][j]:=b[i][j-1]+b[i-1][j]-b[i-1][j-1]+a[i][j];
end;
readln;
end;
w:=1;
x:=1;
y:=1;
z:=1;
ex;
writeln(l1,' ',l2,' ',c1,' ',c2);
close(output);
end.