Bài 1: Ghép các cặp số Hãy ghép 2n số thành n cặp sao cho Tổng của tích các cặp số là lớn nhất, biết rằng mỗi số chỉ chọn ghép đúng một lần. Dữ liệu:

Bài 1: Ghép các cặp số
Hãy ghép 2n số thành n cặp sao cho Tổng của tích các cặp số là lớn nhất, biết rằng mỗi số
chỉ chọn ghép đúng một lần.
Dữ liệu: File văn bản CAPSO.INP
– Dòng đầu ghi số nguyên n
– Dòng thứ 2 ghi 2n số nguyên a1, a2, a3,….an
Kết quả: File văn bản CAPSO.OUT
– Một dòng: là tổng lớn nhất

0 bình luận về “Bài 1: Ghép các cặp số Hãy ghép 2n số thành n cặp sao cho Tổng của tích các cặp số là lớn nhất, biết rằng mỗi số chỉ chọn ghép đúng một lần. Dữ liệu:”

  1. uses crt;
    var fi,fo:text;
        n,i:integer;
    a:array[1..200] of integer;
    Procedure taotep;
            begin
                    assign(Fi,’CAPSO.INP’);
                    assign(Fo,’CAPSO.OUT’);
                    {$I-} reset(fi); {$I+}
                    if ioresult<>0 then
                    begin
                            rewrite(fi);
                            reset(fi);
                    end;
                    readln(fi,n);
                    for i:=1 to 2*n do read(Fi,a[i]);
                    close(Fi); rewrite(Fo);
            end;
    procedure sapxep;
    var j,tam:integer;
            begin
                    for i:=1 to n*2-1 do
                            for j:=i+1 to n*2 do
                                    if a[j]<=a[i] then
                                    begin
                                            tam:=a[i];
                                            a[i]:=a[j];
                                            a[j]:=tam;
                                    end;
            end;
    procedure xuly;
    var tong:longint;
            begin
                    sapxep;
                    tong:=0;
                    i:=1;
                    while i<n*2 do
                    begin
                            tong:=tong+(a[i]*a[i+1]);
                            inc(i,2);
                    end;
                    write(fo,tong);
            end;
    BEGIN
            taotep; xuly;
            close(Fo);
    END.

    Chúc bạn học tốt.

    Cho mình câu trả lời hay nhất nha.

    Bình luận

Viết một bình luận