Bài tập  /  Bài đang cần trả lời

Viết bằng chương trình pascal

ai viết bằng chương trình pascal giúp mình với
----- Nội dung dịch tự động từ ảnh -----
GIAO ĐẤU HỮU NGHỊ
Tên chương trình: FAIRPLAY.PAS
Để tạo không khí vui vẻ náo nhiệt, trong buổi giao lưu giữa sinh viên các trường tham dự
OLP – ACM, trường đăng sai OLP năm tới đề xuất tổ chức một cuộc thi đấu game online tay
đôi giữa sinh viên trường minh với sinh viên trường sở tại. Mỗi trường sử ra một đội n người.
sao thành n sặp đấu, sinh viên cùng trường không đấu với nhau. Trò chơi được chọn là một trò
chơi rất phổ biến, được các bạn trẻ yêu thích, ai cũng biết và đã từng chơi nhiều trước đó. Kết
quả là ai cũng biết chỉ số năng lực của mình trong trò chơi này và biết rằng nếu đấu tay đôi, ai
có năng lực cao hơn sẽ thắng. Trong các trận đấu tay đôi, người thắng sẽ được 1 điểm, người
thua – 0 điểm. Thời gian chơi được quy định đủ để phân biệt thắng thua. Các trận hòa sẽ kéo
dài vô hạn và sẽ bị hủy kết quả khi hết thời gian.Với tinh thần fair play các bạn trường đề xuất
ngồi vào máy trước, truy nhập vào hệ thống và gửi về mày chủ của trường chỉ số năng lực của
mình. Lãnh đội của trường sở tại có 02 giây để xử lý thông tin, phân công ai đấu với ai để
tổng số điểm thu được là lớn nhất.
Hãy xác định, với cách bố trí tối ưu các cặp đấu. đội của trường sở tại sẽ có bao nhiêu điểm.
Dữ liệu: Vào từ file văn bản FAIRPLAY.INP:
* Dòng đầu tiên chứa số nguyên n (1 ♠ Dòng thứ 2 chứa n số nguyên a1, a2, ..., đ», trong đó đi – chỉ số năng lực của người
thứ i thuộc đội của trường đề xuất, 1 ≤@i<10,i=1+n,
****
♠ Dòng thứ 3 chứa n số nguyên bí, b2, . . , ba, trong đó bị – chỉ số năng lực của người
thứ i thuộc đội của trường sở tại , 1 ≤ bi<10, i=1+n.
Kết quả: Đưa ra file văn bản FAIRPLAY.OUT một số nguyên – số điểm đội trường sở tại có
thể đạt được với cách bố trí cặp chơi tối ưu.
Ví dụ:
FAIRPLAY.INP
5
10 15 30 20 22
16 24 20 28 14
FAIRPLAY OUT
4
1 trả lời
Hỏi chi tiết
109
0
0
Dannz
22/11/2023 21:26:51
program FAIRPLAY;
const
  maxN = 100000;
var
  a, b: array[1..maxN] of longint;
  n, i, j, res: longint;
procedure enter;
var
  i: longint;
begin
  readln(n);
  for i := 1 to n do read(a[i]);
  for i := 1 to n do read(b[i]);
end;
procedure sort(l, r: longint; var a: array of longint);
var
  i, j, x, y: longint;
begin
  i := l; j := r;
  x := a[(l + r) div 2];
  repeat
    while a[i] < x do inc(i);
    while x < a[j] do dec(j);
    if i <= j then
    begin
      y := a[i]; a[i] := a[j]; a[j] := y;
      inc(i); dec(j);
    end;
  until i > j;
  if l < j then sort(l, j, a);
  if i < r then sort(i, r, a);
end;
procedure solve;
var
  i, j: longint;
begin
  sort(1, n, a);
  sort(1, n, b);
  i := 1; j := 1; res := 0;
  while (i <= n) and (j <= n) do
  begin
    if a[i] <= b[j] then
    begin
      inc(res);
      inc(i); inc(j);
    end
    else inc(j);
  end;
  writeln(res);
end;
begin
  assign(input, 'FAIRPLAY.INP'); reset(input);
  assign(output, 'FAIRPLAY.OUT'); rewrite(output);
  enter;
  solve;
  close(input); close(output);
end.

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Trắc nghiệm Lập trình Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Gia sư Lazi Gia sư