Trang chủ Tin Học Lớp 8 Có 𝑛 thanh sắt được đánh số thứ tự từ...

Có 𝑛 thanh sắt được đánh số thứ tự từ 1 đến 𝑛. Thanh sắt thứ 𝑖(𝑖 = 1 … 𝑛) có độ dài 𝐷𝑖 cm. Yêu cầu: Bạn hãy chọn ra các thanh sắt có độ dài bằng nhau vớ

Câu hỏi :

Có 𝑛 thanh sắt được đánh số thứ tự từ 1 đến 𝑛. Thanh sắt thứ 𝑖(𝑖 = 1 … 𝑛) có độ dài 𝐷𝑖 cm. Yêu cầu: Bạn hãy chọn ra các thanh sắt có độ dài bằng nhau với số lượng nhiều nhất có thể. Nếu có nhiều cách chọn thì chọn các thanh có độ dài lớn nhất. Dữ liệu vào: Tệp văn bản CHONSAT.INP gồm: + Dòng đầu ghi số nguyên dương 𝑛 (𝑛 ≤ 10^5); + Dòng thứ hai ghi 𝑛 số nguyên dương 𝐷1, 𝐷2, … , 𝐷𝑛 có giá trị không vượt quá 10^9 Giữa các số cách nhau một dấu cách. Kết quả: Ghi vào tệp CHONSAT.OUT gồm hai dòng: + Dòng đầu ghi số lượng thanh sắt được chọn + Dòng thứ hai ghi chiều dài của những thanh sắt được chọn Ví dụ: CHONSAT.INP CHONSAT.OUT 5 2 3 2 1 2 5 2

Lời giải 1 :

Uses crt;
Var 
    a,dem:array[1..100000] of integer;
    n,i,x,j,m: LongInt;
Begin
    repeat
        clrscr;
        readln(n);
    until(n<=100000);
    for i:=1 to n do read(a[i]);
    x:=a[1];
    for i:=2 to n do if a[i]>x then x:=a[i];
    for i:=1 to x do dem[i]:=0;
    for i:=1 to n do
        dem[a[i]]:=dem[a[i]]+1;
    j:=1;
    for i:=2 to x do if dem[i]>dem[j] then j:=i;
    m:=0;
    for i:=1 to x do if (dem[i]=dem[j]) then if i>j then j:=i;
    writeln(dem[j]);
    writeln(j);
    readln;
End.

Thảo luận

-- https://hoidap247.com/cau-hoi/3426980
-- https://hoidap247.com/cau-hoi/3450460
-- https://hoidap247.com/cau-hoi/3515728 happy new year
-- Ui xin lỗi bạn, mấy hôm nọ mình nghỉ để thi, để mình xem có câu nào làm được thì làm nhé
-- https://hoidap247.com/cau-hoi/3568926
-- https://hoidap247.com/cau-hoi/3628395
-- https://hoidap247.com/cau-hoi/3677566 help mik voi :((
-- https://hoidap247.com/cau-hoi/3984877 help

Lời giải 2 :

uses crt;
type vector = record
    arr: array[0..100000] of longint;
    size: longint;
end;
var a: vector;
    i, val, cnt, rcnt: longint;

procedure swap(var a, b: longint); var tmp: longint; begin tmp:=a; a:=b; b:=tmp; end;
procedure sort(var a: vector; l, r: longint); var i, j, x: longint; begin i:=l; j:=r; x:=a.arr[(l + r) div 2]; repeat while a.arr[i] < x do inc(i); while a.arr[j] > x do dec(j); if i <= j then begin swap(a.arr[i], a.arr[j]); inc(i); dec(j); end; until i > j; if i < r then sort(a, i, r); if l < j then sort(a, l, j); end;

begin
    clrscr;
    readln(a.size);
    for i:=1 to a.size do read(a.arr[i]);
    
    sort(a, 1, a.size);
    val:=a.arr[1]; rcnt:=1; cnt:=1;
    for i:=2 to a.size do begin
        if a.arr[i] = a.arr[i - 1] then begin
            inc(cnt);
            if cnt > rcnt then begin
                rcnt:=cnt;
                val:=a.arr[i];
            end else if cnt = rcnt then begin
                val:=a.arr[i];
            end;
        end else cnt:=1;
    end;
    writeln(rcnt, #13#10, val);
readln;
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK