Mai intai trebuie sa te autentifici.
Cod sursa(job #319706)
Utilizator | Data | 1 iunie 2009 20:45:10 | |
---|---|---|---|
Problema | Tablete | Scor | 70 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 1.64 kb |
Program lll;
var f,g:text;
n,i,k,j,a:longint;
begin
assign(f,'tablete.in');reset(f);
assign(g,'tablete.out');rewrite(g);
read(f,n,k);
if k mod 2=0 then begin
a:=k*n;
for I:=1 to n do
begin
for j:=1 to k do
write(g,(i-1)*k+j,' ') ;
for j:=1 to n-k do
begin a:=a+1; write(g,a,' ');end;
writeln(g);
end;
end;
if (k mod 2=1) and (n mod 2 =0) then
begin
a:=k*n;
for i:=1 to n do
if i mod 2 =0 then
begin
write(g,(i-1)*k,' ');
for j:=2 to k do write(g,(i-1)*k+j,' ');
for j:=1 to n-k do write(g,a+j,' ');
a:=a+j;
writeln(g);
end
else
begin
for j:=1 to k-1 do write(g,(i-1)*k+j,' ');
write(g,i*k+1,' ');
for j:=1 to n-k do write(g,a+j,' ');
a:=a+j;
writeln(g);
end
end;
if (k mod 2=1) and (n mod 2 =1) then
begin
a:=k*n;
for i:=1 to n do
if i mod 2 =0 then
begin
write(g,(i-1)*k,' ');
for j:=2 to k do write(g,(i-1)*k+j,' ');
for j:=1 to n-k do write(g,a+j,' ');
a:=a+j;
writeln(g);
end
else
begin
for j:=1 to k-1 do write(g,(i-1)*k+j,' ');
write(g,i*k+1,' ');
for j:=1 to n-k do
if( i=1) and(j=1) then write(g,a+j-1,' ')
else write(g,a+j,' ');
a:=a+j;
writeln(g);
end
end;
close(g);close(f);
end.