De thi học sinh giỏi tin có đáp AN

  • Windows
  • Mac OS
  • iPhone/iPad
  • Android
  • Windows Phone
  • Game
  • Tài liệu
  • Hướng dẫn

Đây là bài tập pascal thi học sinh giỏi có đáp án, các bạn có thể comment hỏi bài hoặc giải bài. Mời các bạn tham khảo ngay phía bên dưới với hơn 100 đề và đáp án thi HSG tin cùng với  onthihsg ngay nhé.

De thi học sinh giỏi tin có đáp AN

Viết các số tự nhiên từ 1 đến 2009 theo một vòng tròn cùng chiều quay kim đồng hồ. Cũng theo chiều đó, bắt đầu từ số 1, cứ đếm từ 1 đến số thứ 612 thì xoá số đó đi. Lại bắt đầu từ số còn lại đứng ngay sau số vừa bị xoá, lặp lại quá trình đến khi còn 1 số thì dừng lại. a) Hỏi số còn lại là số nào? b) Muốn số còn lại là số thứ L (0

Dữ liệu vào: Nhập từ bàn phím số nguyên dương L (0
Kết quả: Đưa ra màn hình theo qui cách: dòng thứ nhất là kết quả cho câu hỏi a); dòng thứ hai là kết quả cho câu hỏi b).

Ý tưởng cho lời giải:

  • Dùng một mảng a có 2009 phần tử (từ 1 đến 2009) kiểu boolean. Khởi động cho tất cả các giá trị của mảng là true (chưa được đánh dấu).
  • Duyệt và đếm xuất phát từ phần tử đầu tiên, phần tử nào của mảng có giá trị true (chưa đánh dấu) thì mới đếm, khi đếm đủ 612 số thì đánh dấu phần tử thứ 612 đó (False), khi duyệt đến phần tử cuối cùng của mảng thì quay lại đầu mảng. Khi nào chỉ còn 1 phần tử chưa đánh dấu thì dừng lại và phần tử đó chính là đáp án câu a.
  • Đáp án câu b được suy ra từ câu a. Bởi các số từ 1 đến 2009 xếp theo một vòng tròn cùng chiều quay kim đồng hồ

Chương trình viết bằng pascal để các bạn tham khảo:

var a:array[1..2009] of boolean; i,j,n,dem,L,b:integer; begin Write('L=');readln(L); for i:=1 to 2009 do a[i]:=true; n:=2009; j:=1; while n>1 do begin dem:=0; while dem < 612 do begin if a[j] then dem:=dem+1; if dem = 612 then a[j]:=false; if j=2009 then j:=1 else j:=j+1; end; n:=n-1; end; for i:= 1 to 2009 do if a[i] then j:=i; writeln('so doc dac:',j); b:=1+L-j; if b>2009 then b:=b-2009;while b<1 do b:=b+2009; write('muon so con lai la ',L,' thi xuat phat tu so: ',b); readln; end.

Còn đây là chương trình học sinh của mình (Minh) viết bằng cách sử dụng đệ quy:

PROGRAM So_doc_dac; USES crt; VAR dem,x,L:WORD; a:ARRAY[1..2009] OF WORD; PROCEDURE try(x:WORD); VAR i:WORD; BEGIN i:=0; WHILE i<612 DO BEGIN IF a[x]<>0 THEN i:=i+1; IF i=612 THEN a[x]:=0; x:=x+1; IF x>2009 THEN x:=1; END; dem:=dem+1; IF dem=2008 THEN exit ELSE try(x); END; BEGIN clrscr; write('L = '); readln(L); WHILE (L=0) OR (L>2009) DO BEGIN writeln; writeln('So ban nhap khong hop le'); write('Nhap lai: L = '); readln(L); END; {cau a} FOR x:=1 TO 2009 DO a[x]:=x; x:=1; dem:=0; try(x); x:=1; WHILE a[x]=0 DO x:=x+1; writeln('So doc dac la ',a[x]); {cau b} IF L>=80 THEN x:=L-79 ELSE x:=L+1930; writeln('Muon so con lai la ',L,' thi xuat phat tu so ',x); readln; END.

Đội hình thi đấu của một đội bóng được thể hiện bởi ba số X, Y, Z trong đó X là số cầu thủ hậu vệ, Y là số cầu thủ tiền vệ, Z là số cầu thủ tiền đạo. Khi đã biết chính xác tên các cầu thủ cũng như chức năng của mỗi cầu thủ thì ta có thể biết được chính xác đội hình thi đấu của đội bóng đó. Viết chương trình thực hiện yêu cầu:

– Dữ liệu: file văn bản có tên BDA.INP có 11 dòng, mỗi dòng ghi tên một cầu thủ tiếp theo là dấu cách và chức năng của cầu thủ đó, chức năng là một trong các cặp kí tự: TD-Tiền đạo, TV- Tiền vệ, HV-Hậu vệ, TM-Thủ môn.

– Kết quả: ghi vào file văn bản có tên BDA.OUT theo cấu trúc:

  • Dòng đầu ghi 3 số X, Y, Z mỗi số cách nhau một dấu cách
  • Dòng thứ hai ghi tên các cầu thủ tiền đạo
  • Dòng thứ ba ghi tên các cầu thủ tiền vệ
  • Dòng thứ tư ghi tên các cầu thủ hậu vệ
  • Dòng thứ năm ghi tên thủ môn.

Các bạn cùng giải nào Các bạn có bài nào hay comment bên dưới, chúng ta cùng giải nhé!

Đề thi HSG Tin học 12 Sở giáo dục và Đào tạo Quảng Nam 2021 có đáp án được soạn dưới dạng file Word gồm 4 trang. Các bạn xem và tải về ở dưới.

SỞ GIÁO DỤC VÀ ĐÀO TẠOSÓC TRĂNG¯¯¯¯¯¯¯¯¯¯¯ĐỀ CHÍNH THỨCKỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNHNăm học 2016-2017¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Môn: TIN HỌC - Lớp 12(Thời gian làm bài 180 phút, không kể phát đề)Ngày thi: 17/9/2016¯¯¯¯¯¯¯¯¯¯¯¯Đề thi này có 02 trangTỔNG QUAN NGÀY THI THỨ NHẤTCâuTên câuFile chương trìnhFile dữ liệu vào1File kết quảTổng ma trậnTongMT.*TongMT.inpTongMT.out2Xâu kí tựXauKiTu.*XauKiTu.inpXauKiTu.out3Băng nhạcBangNhac.*BangNhac.inpBangNhac.outDấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sửdụng tương ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.Hãy lập trình giải các câu hỏi sau:Câu 1: (6,0 điểm) Tổng ma trậnMột ma trận A cấp m x n các số nguyên (mỗi số hạng trên cùng một hàngđược cách nhau bằng dấu cách). Tính tổng các số hạng trên mỗi hàng của matrận?Dữ liệu vào trong tập tin văn bản TongMT.inp- Dòng đầu tiên chứa hai số m và n tương ứng với số hàng và số cột của ma trận.- m hàng tiếp theo là số hạng các hàng của ma trậnKết quả xuất ra tập tin văn bản TongMT.outGồm m hàng, số cuối cùng của mỗi hàng là giá trị tổng các số hạng củahàng đó.Ví dụ:TongMT.inp34135724680326TongMT.out1 3 5 7 162 4 6 8 200 3 2 6 111Câu 2: (7,0 điểm) Xâu kí tựXâu kí tự bao gồm cả các chữ số được lưu trong tập tin văn bảnXauKiTu.inp. Sắp xếp lại các số nằm xen kẽ trong xâu theo thứ tự từ nhỏ đếnlớn nhưng vị trí của các kí tự khác số vẫn giữ nguyên. Kết quả được ghi trongtập tin văn bản XauKiTu.out.Chú ý: Khi sắp xếp nếu gặp số bắt đầu bằng chữ số 0 thì cắt bỏ các chữ số0 vô nghĩa đó (ví dụ số 021 thì sau khi sắp xếp chỉ viết lại thành số 21).Ví dụ:XauKiTu.inpXauKiTu.outxyz25av4ghit012m58noxyz4av12ghit25m58noCâu 3: (7,0 điểm) Băng nhạcMột máy phát nhạc tự động có một băng nhạc đủ lớn để ghi N bài hát,thời gian phát mỗi bài hát tính theo phút và được biết trước. Biết rằng, để phátbài thứ i thì máy phải trở về vị trí đầu băng và phải quay để bỏ qua i – 1 bàitrước đó. Máy có thể trở về vị trí đầu băng với thời gian không đáng kể và thờigian quay băng để bỏ qua mỗi bài và thời gian phát bài đó là bằng nhau.Hãy tìm cách ghi các bài hát trên băng nhạc sao cho tổng số thời gianquay băng trong ngày là nhỏ nhất. Biết rằng, mỗi bài hát được phát một lần.Chẳng hạn: Băng nhạc có 3 bài hát có thứ tự là 1, 2, 3 với thời gian phátmỗi bài lần lượt là 3, 2 và 6 phút. Nếu ta ghi băng nhạc theo các thứ tự khácnhau thì tổng thời gian phát cả băng nhạc là khác nhau, cụ thể là:Thứ tự bài hátThời gian phát mỗi bàiTổng thời gian phát1233263 + (3 + 2) + (3 + 2+ 6) = 19Dữ liệu vào trong tập tin văn bản BangNhac.inp:- Dòng thứ nhất chứa số N (N ≤ 100)- Các dòng tiếp theo chứa các số nguyên t1, t2,…,tN lần lượt là thời gianphát của các bài hát 1, 2,..., N. Các số cách nhau ít nhất một dấu cách.Kết quả xuất ra tập tin văn bản BangNhac.out:- Dòng thứ nhất ghi số Tmin là tổng thời gian tìm và phát cả băng nhạc.- Các dòng tiếp theo chứa N số là thứ tự của các bài hát ghi trên băngnhạc theo thời gian Tmin, các số cách nhau ít nhất một dấu cách.Ví dụ:BangNhac.inp3326BangNhac.out18213--- HẾT --2SỞ GIÁO DỤC VÀ ĐÀO TẠOSÓC TRĂNG¯¯¯¯¯¯¯¯¯¯¯ĐỀ CHÍNH THỨCKỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNHNăm học 2016-2017¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Môn: TIN HỌC - Lớp 12(Thời gian làm bài 180 phút, không kể phát đề)Ngày thi: 18/9/2016¯¯¯¯¯¯¯¯¯¯¯¯Đề thi này có 02 trangTỔNG QUAN NGÀY THI THỨ HAICâuTên câuFile chương trìnhFile dữ liệu vàoFile kết quả1Tổng số nguyên tốTongSNT.*TongSNT.inpTongSNT.out2Tách biểu thứcTachBT.*TachBT.inpTachBT.out3Cái túiCaiTui.*CaiTui.inpCaiTui.outDấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụngtương ứng là Pascal hoặc C++. Yêu cầu đặt tên file giống bảng trên.Hãy lập trình giải các câu hỏi sau:Câu 1: (6,0 điểm) Tổng số nguyên tốCho một dãy gồm N số nguyên không âm a1, a2, …, aN. Hãy tìm tất cả các sốnguyên tố và sắp xếp theo thứ tự tăng dần của các số tìm được, sau đó tính tổng củacác số nguyên tố đó. Nếu không tìm được thì thông báo 0.Dữ liệu vào trong tập tin văn bản TongSNT.inp:- Dòng đầu tiên ghi số nguyên N, trong đó 1  N 104.- Trong N dòng tiếp theo, dòng thứ i chứa số ai (ai  104).Kết quả xuất ra tập tin văn bản TongSNT.out:- Dòng đầu tiên chứa các số tìm được.- Dòng thứ hai chứa tổng của các số tìm được.Ví dụ:TongSNT.inp91148157192165TongSNT.outDay cac so nguyen to tim duoc: 2 5 7 19Tong cua day so tim duoc = 331Câu 2: (7,0 điểm) Tách biểu thứcTrong biểu thức toán học, một cụm là đoạn nằm giữa hai dấu mở và đóngngoặc đơn (). Với mỗi biểu thức toán học cho trước hãy tách các cụm của biểu thức.Dữ liệu vào trong tập tin văn bản TachBT.inp: chứa một dòng kiểu xâu kí tự làbiểu thức cần xử lí.Kết quả xuất ra tập tin văn bản TachBT.out:- Dòng đầu tiên ghi số lượng cụm được tách t.- Tiếp đến là t dòng, mỗi dòng ghi một cụm được tách từ biểu thức.Ví dụ:TachBT.inpx*(a+1)*((b-2)/(c+3))TachBT.outSo luong cum duoc tach: 4(a+1)(b-2)(c+3)((b-2)/(c+3))Câu 3: (7,0 điểm) Cái túiCó N vật, với mỗi vật ta biết trọng lượng và giá trị của nó. Hãy xác định trọnglượng cần lấy ở một số vật để xếp vào một cái túi có sức chứa tối đa là M sao cho giátrị chứa trong cái túi là lớn nhất. Giả thiết là chỉ lấy những vật mà túi chứa được.Dữ liệu vào trong tập tin văn bản CaiTui.inp:- Dòng đầu tiên: hai giá trị nguyên dương N và M.- N dòng tiếp theo, mỗi dòng chứa hai giá trị nguyên dương w và v, trong đó wlà trọng lượng của mỗi vật, v là giá trị trên mỗi đơn vị trọng lượng của vật đó. Các sốcách nhau qua dấu cách.Kết quả xuất ra tập tin văn bản CaiTui.out:- N dòng, dòng thứ i cho biết trọng lượng lấy của vật thứ i.- Dòng tiếp theo ghi tổng trọng lượng đã lấy.- Dòng cuối cùng ghi tổng giá trị thu được.Ví dụ:CaiTui.inp5 308554423816 6CaiTui.outDanh sach cac vat co trong luong duoc lay:Vat thu 1 = 8Vat thu 2 = 0Vat thu 3 = 0Vat thu 4 = 3Vat thu 5 = 16Tong trong luong da lay: 27Tong gia tri lon nhat: 160--- HẾT --2SỞ GIÁO DỤC VÀ ĐÀO TẠOSÓC TRĂNGKỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNHNăm học 2014-2015Đề chính thứcMôn: Tin học - Lớp 12(Thời gian làm bài 180 phút, không kể phát đề)Ngày thi: 20/9/2014________________Đề thi này có 02 trangTỔNG QUAN NGÀY THI THỨ NHẤTTên câuFile chương trìnhFile dữ liệu vàoFile kết quảCâu 1Tổng số lẻ giảmSumDes.*SumDes.inpSumDes.outCâu 2Chuyển kí tựMoveChar.*MoveChar.inpMoveChar.outCâu 3Thỏ con hái hoaThoHaiHoa.*ThoHaiHoa.inpThoHaiHoa.outDấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứnglà Pascal hoặc C++. Lưu ý: Yêu cầu đặt tên file giống bảng trên.Hãy lập trình giải các câu hỏi sau:Câu 1: (6,0 điểm) Tổng số lẻ giảmCho một dãy gồm n số nguyên không âm a1, a2, …, an. Hãy tìm tất cả các số lẻ và sắpxếp theo thứ tự giảm dần của dãy số tìm được, tính tổng của dãy số đó. Nếu không tìm đượckết quả thì ghi số 0 trong tập tin kết quả. Trong các tập tin văn bản, dữ liệu trên cùng mộtdòng cách nhau bởi dấu khoảng trắng.Dữ liệu vào trong tập tin văn bản SumDes.inp:- Dòng đầu tiên ghi số nguyên n trong đó 1  n 104.- Trong n dòng sau, dòng thứ i chứa số ai (ai  104).Kết quả xuất ra tập tin văn bản SumDes.out:- Dòng đầu tiên chứa dãy số tìm được.- Dòng thứ hai chứa tổng của dãy số tìm được.Ví dụ:SumDes.inp6235365890SumDes.outDay so le tim duoc: 65 35 3Tong cac so le tim duoc = 103Câu 2: (7,0 điểm) Chuyển kí tựTrên một bảng chia 2m+1 ô người ta đặt m kí tự ‘A’ liền nhau, mỗi ô 1 kí tự, sau đóbỏ một ô trống và đặt tiếp m kí tự ‘B’ như hình 1. Hãy tìm cách chuyển với số lần ít nhất đểthu được hình 2, trong đó các kí tự ‘B’ được chuyển qua trái của ô trống, các kí tự ‘A’ đượcchuyển qua phải ô trống. Mỗi lần được phép chuyển một kí tự vào ô trống kề kí tự đó hoặccách kí tự đó 1 ô.Hình 1AABBHình 2BBAADữ liệu vào trong tập tin văn bản MoveChar.inp: Chứa số duy nhất m, m ≤ 100Kết quả xuất ra tập tin văn bản MoveChar.out:- Dòng đầu tiên là cấu hình xuất phát là một xâu gồm m kí tự 'A' tiếp đến là 1 kí tự'O' biểu thị ô trống, tiếp đến là m kí tự 'B'.- Tiếp đến là các dòng, mỗi dòng là một cấu hình thu được sau mỗi lần chuyển.- Dòng cuối cùng chứa số lần đã chuyển.Ví dụ:MoveChar.inpMoveChar.out2Cau hinh dau tien AAOBBAOABBABAOBABABOABOBAOBABABOABABBAOABBOAATong so lan chuyen: 8Câu 3: (7,0 điểm) Thỏ con hái hoaSáng chủ nhật, Thỏ con muốn hái hoa tặng bà. Giả sử trong khu rừng là một bảngvuông kích thước K*K (với 2 < K < 100), mỗi ô trong bảng ghi một số nguyên tương ứngvới số lượng hoa, trên đường đi Thỏ con đi đến ô nào thì hái số lượng hoa tương ứng của ôđó. Hãy tìm đường đến nhà bà sao cho Thỏ con hái được nhiều hoa nhất với điều kiện thỏcon xuất phát từ nhà mình là ô góc trên bên trái (dòng 1, cột 1 của bảng) đi theo hướng cạnhbên phải hoặc ô bên dưới so với ô nó đang đứng và cuối cùng đến vị trị của nhà bà là ô gócdưới phải (dòng K cột K của bảng). Trong các tập tin văn bản, dữ liệu trên cùng một dòngcách nhau bởi dấu khoảng trắng.Dữ liệu vào từ tập tin văn bản ThoHaiHoa.inp:- Dòng đầu ghi giá trị số K.- Dòng thứ i trong K dòng tiếp theo ghi K số trên dòng i của bảng theo thứ tự từ tráiqua phải.Kết quả xuất ra tập tin văn bản ThoHaiHoa.out: gồm 1 dòng duy nhất chứa 1 sốnguyên là tổng số hoa nhiều nhất mà thỏ con hái được trên đường đi.Ví dụ:ThoHaiHoa.inpThoHaiHoa.out4Tong so hoa nhieu nhat ma Tho con hai duoc: 212 5 -4 10-1 5 -10 68 10 2 -9-3 -2 1 -4--- HẾT --Họ tên thí sinh: ................................................................Số báo danh: ................................Chữ ký của Giám thị 1: ..................................Chữ ký của Giám thị 2:.................................SỞ GIÁO DỤC VÀ ĐÀO TẠOSÓC TRĂNGKỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNHNăm học 2013-2014Đề chính thứcMôn: Tin học - Lớp 12(Thời gian làm bài 180 phút, không kể phát đề)Ngày thi: 21/9/2013________________Đề thi này có 02 trangTỔNG QUAN NGÀY THI THỨ NHẤTTên câuFile dữ liệu vàoFile chương trìnhFile kết quảCâu 1Sửa xâuSuaXau.*SuaXau.inpSuaXau.outCâu 2Giao hình chữ nhậtGiaoHCN.*GiaoHCN.inpGiaoHCN.outCâu 3Đặt Đại lýDatDL.*DatDL.inpDatDL.outDấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụngtương ứng là Pascal hoặc C++.Hãy lập trình giải các câu hỏi sau:Câu 1: (6,0 điểm) Sửa xâuCho xâu S độ dài không quá 105, hãy viết chương trình để sửa xâu S theo yêucầu là nếu tính từ trái sang phải gặp:- Ký tự # là dấu hiệu xoá đi một ký tự đứng ngay trước nó nếu có.- Ký tự @ là dấu hiệu xoá đi một ký tự đứng ngay trước nó nếu có.Dữ liệu vào từ tập tin văn bản SuaXau.inp:- Dòng thứ nhất ghi số n (1≤ n ≤ 50).- Mỗi dòng trong n dòng chứa một xâu S cần sửa.Kết quả xuất ra tập tin văn bản SuaXau.out gồm n dòng xâu đã sửa theo yêucầu, dòng i tương ứng với kết quả thứ i của xâu S tương ứng và số ký tự # và @ đãxóa.Ví dụ:SuaXau.inp3Xe@in chh#ao chung##@@ac bon##anTa#oi ths@i hopp@@c sinua#h###nh gia@oi tin hoj#cNn#gay thiab## 2223###1/9/2014#3SuaXau.outXin chao cac banToi thi hoc sinh gioi tin hocNgay thi 21/9/2013So ky tu # da xoa la: 18So ky tu @ da xoa la: 7Câu 2: (7,0 điểm) Giao hình chữ nhậtCho k hình chữ nhật (2 < k < 100) có các cạnh song song với hai trục tọa độvà tọa độ các đỉnh đều là các số nguyên. Các hình chữ nhật được đánh số từ 1 đến k.Hãy tìm hai hình chữ nhật mà phần giao nhau của chúng có diện tích lớn nhất.Dữ liệu vào từ tập tin văn bản GiaoHCN.inp:- Dòng đầu chứa số k.- Dòng thứ i trong k dòng tiếp theo mô tả hình chữ nhật thứ i, chứa 4 sốnguyên x1, y1, x2, y2 ứng với các hoành độ và tung độ của các hình chữ nhật.Kết quả xuất ra tập tin văn bản GiaoHCN.out:- Dòng đầu cho biết chỉ số của 2 hình chữ nhật tìm được.- Dòng thứ 2 cho biết diện tích của hình chữ nhật tìm được.Ví dụ:GiaoHCN.inp42288-4 -3 8 834561133GiaoHCN.outGiao cua hinh chu nhat thu 1 va thu 2Dien tich cua hinh chu nhat = 36Câu 3: (7,0 điểm) Đặt Đại lýMột công ty ABC phân phối sản phẩm cho các khách hàng ở n huyện (3 ≤ n ≤35) đánh số từ 1 đến n. Có m đoạn đường, mỗi đoạn nối hai huyện nào đó lại vớinhau. Công ty muốn mở các đại lý ở một số huyện này sao cho mỗi huyện hoặc là cóđại lý đặt tại nó hoặc có đại lý đặt ở huyện có đoạn đường nối trực tiếp với nó. Hãyxác định xem công ty cần mở ít nhất bao nhiêu đại lý để đáp ứng điều kiện trên.Dữ liệu vào từ tập tin văn bản DatDL.inp:- Dòng đầu tiên chứa 2 số n, m cách nhau bởi dấu cách,- Mỗi dòng trong số m dòng tiếp theo chứa 2 số nguyên là các chỉ số của cácđầu mút của một trong số m đoạn đường.Kết quả xuất ra tập tin văn bản DatDL.out chứa số lượng đại lý cần mở.Ví dụ:DatDL.inpDatDL.out11 104122334455 116778899 1010 11--- HẾT --Họ tên thí sinh: ............................................................Số báo danh: .............................Chữ ký của Giám thị 1: ...............................Chữ ký của Giám thị 2:.............................SỞ GIÁO DỤC VÀ ĐÀO TẠOSÓC TRĂNGKỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNHNăm học 2014-2015Đề chính thứcMôn: Tin học - Lớp 12(Thời gian làm bài 180 phút, không kể phát đề)Ngày thi: 21/9/2014________________Đề thi này có 02 trangTỔNG QUAN NGÀY THI THỨ HAITên câuFile chương trìnhFile dữ liệu vàoFile kết quảCâu 1 Ghép HCN Max HCNMax.*HCNMax.inpHCNMax.outCâu 2 Đoạn rờiDoanRoi.*DoanRoi.inpDoanRoi.outCâu 3 Tổng đoạn MinTongDoanMin.*TongDoanMin.inp TongDoanMin.outDấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụngtương ứng là Pascal hoặc C++. Lưu ý: Yêu cầu đặt tên file giống bảng trên.Hãy lập trình giải các câu hỏi sau:Câu 1: (6,0 điểm) Ghép hình chữ nhật có diện tích lớn nhấtCho M đoạn thẳng cùng chiều dài d đơn vị. Hãy chọn các đoạn để ghép thànhcạnh của hình chữ nhật có diện tích lớn nhất.Dữ liệu vào trong tập tin văn bản HCNMax.inp:- Dòng đầu tiên chứa số M, M ≥ 4.- Dòng thứ hai chứa số d đơn vị.Kết quả xuất ra tập tin văn bản HCNMax.out:- Dòng đầu tiên chứa tổng số đoạn cần chọn t.- Dòng thứ hai chứa diện tích lớn nhất s theo đơn vị.- Dòng thứ ba chứa số đoạn đặt trên 1 chiều rộng a.- Dòng cuối cùng chứa số đoạn đặt trên 1 chiều dài b.Ví dụ:HCNMax.inp232HCNMax.outTong so doan t = 22Dien tich lon nhat s = 120Tong so doan dat tren 1 chieu rong a = 5Tong so doan dat tren 1 chieu dai b = 6Câu 2: (7,0 điểm) Đoạn thẳng rờiCho n đoạn thẳng với các điểm đầu ai và điểm cuối bi là những số nguyên, ai 1;

 Các phần tử A[u+1,j], A[u+1,j+1], …, A[u+1, v] đều bằng 0 nếu u