VMRESTO – SPOJ

Đề bài: http://vn.spoj.com/problems/VMRESTO/

Thuật toán:

  • Thuật toán bài này khá đơn giản. Bạn có thể đọc code của mình bên dưới, mình viết code cũng khá dễ đọc.

Code:

const   fi='';
        fo='';
        maxn=100;
var     hang,cot:array[1..maxn] of int64;
        cheo,n,i,j,k:longint;
        a:array[1..maxn,1..maxn] of int64;
        res,hold:int64;
procedure nhap;
begin
    assign(input,fi);reset(input);
 
    readln(n);
    for i:=1 to n do
        for j:=1 to n do read(a[i,j]);
 
    close(input);
end;
procedure init;
begin
    for i:=1 to n do
        for j:=1 to n do
                begin
                        inc(hang[i],a[i,j]);
                        inc(cot[j],a[i,j]);
                end;
end;
procedure xuly;
begin
    hold:=0;
    for i:=2 to n do
      begin
        a[i,i]:=hang[1]-hang[i];
        inc(hold,a[i,i]);
      end;
end;
procedure inkq;
begin
    assign(output,fo);rewrite(Output);
    res:=(hang[1]-hold) div (n-1);
    for i:=1 to n  do
        begin
            for j:=1 to n do
                if i<>j then write(a[i,j],' ') else write(res+a[i,j],' ');
            writeln;
        end;
    close(output);
end;
begin
    nhap;
    init;
    xuly;
    inkq;
end.
Khuyên dùng

 

About Aida Nana

Nghề chính là chém gió, quăng bom và ném lựu đạn.
Nghề phụ là cắt cỏ, chém chuối, cưa cây......

Speak Your Mind

*