Pagini recente » Cod sursa (job #275587) | Cod sursa (job #2651279) | Cod sursa (job #3130732) | Cod sursa (job #1649288) | Cod sursa (job #124880)
Cod sursa(job #124880)
program piese;
var f,g:text;
m,n,nrc:longint;
pattern:array[1..501,1..501] of longint;
procedure iofile;
begin
assign(f,'piese.in');reset(f);
assign(g,'piese.out');rewrite(g);
readln(f,m,n);
close(f);
end;
function fits(lat,dx,dy:longint):boolean;
begin
if (lat<=dx)and(lat<=dy) then fits:=true else
fits:=false;
end;
procedure pune_piesa(x,y:longint);
var lat:longint;
i,j,dx,dy:longint;
begin
lat:=1;
dx:=m-x+1;
dy:=n-y+1;
while fits(lat,dx,dy) do
begin
lat:=lat*2;
end;
lat:=lat div 2;
for i:= x to x+lat-1 do
for j:=y to y+lat-1 do
pattern[i,j]:=nrc;
end;
procedure solve;
var i,j:longint;
begin
fillchar(pattern,sizeof(pattern),0);
nrc:=0;
for i:=1 to m do
for j:=1 to n do
if pattern[i,j]=0 then
begin
inc(nrc);
pune_piesa(i,j);
end;
writeln(g,nrc);
for i:=1 to m do
begin
for j:=1 to n-1 do
write(g,pattern[i,j],' ');
writeln(g,pattern[i,n]);
end;
close(g);
end;
begin
iofile;
solve;
end.