program cia; var k : byte; n : word; a : array[1..100000, 1..5] of longint; i,j,j1 : longword; tmp,tmp1,tmp2 : longint; begin readln(n,k); for i:=1 to k do begin for j:=1 to n-1 do read(a[i,j]); readln(a[i,n]) end; if (k mod 2)>0 then begin j:=(k+1) div 2; write(a[j,1]); for i:=2 to n do write(' ',a[j,i]); end else begin j:=k div 2; for i:=1 to n do begin tmp:=(a[j,i]+a[j+1,i]) div 2; tmp1:=0; tmp2:=0; for j1:=1 to k do tmp1:=tmp1+abs(a[j1,i]-tmp); tmp:=tmp+1; for j1:=1 to k do tmp2:=tmp2+abs(a[j1,i]-tmp); if i>1 then write(' '); if tmp2>tmp1 then write(tmp-1) else write(tmp) end end; writeln; end.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | program cia; var k : byte; n : word; a : array[1..100000, 1..5] of longint; i,j,j1 : longword; tmp,tmp1,tmp2 : longint; begin readln(n,k); for i:=1 to k do begin for j:=1 to n-1 do read(a[i,j]); readln(a[i,n]) end; if (k mod 2)>0 then begin j:=(k+1) div 2; write(a[j,1]); for i:=2 to n do write(' ',a[j,i]); end else begin j:=k div 2; for i:=1 to n do begin tmp:=(a[j,i]+a[j+1,i]) div 2; tmp1:=0; tmp2:=0; for j1:=1 to k do tmp1:=tmp1+abs(a[j1,i]-tmp); tmp:=tmp+1; for j1:=1 to k do tmp2:=tmp2+abs(a[j1,i]-tmp); if i>1 then write(' '); if tmp2>tmp1 then write(tmp-1) else write(tmp) end end; writeln; end. |