De thi học sinh giỏi Tin học 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 học 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<L<2010) thì ban đầu cần xuất phát từ số nào?

Dữ liệu vào: Nhập từ bàn phím số nguyên dương L (0<L<2010)


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 <bi. Liệt kê số lượng tối đa các đoạn thẳng không giao nhau. Hai đoạn thẳng [a,b] và[c,d] được xem là không giao nhau nếu xếp trên cùng một trục số, chúng không cóđiểm chung vì thế đòi hỏi: b < c hoặc d < a. Trong các tập tin văn bản, dữ liệu trêncùng một dòng cách nhau bởi dấu khoảng trắng.Dữ liệu vào từ tập tin văn bản DoanRoi.inp:- Dòng đầu tiên số tự nhiên n, 1 < n ≤ 1000.- Dòng thứ i trong n dòng tiếp theo, mỗi dòng chứa hai số nguyên ai và bi cáchnhau qua dấu cách, biểu thị điểm đầu và điểm cuối của đoạn thứ i, i = 1..n.Kết quả xuất ra tập tin văn bản DoanRoi.out:- Dòng đầu tiên số lượng các đoạn không giao nhau.- Các dòng tiếp theo, mỗi dòng một số tự nhiên thể hiện chỉ số của các đoạnrời nhau tìm được.Ví dụ:DoanRoi.inp6347 1210 135716 1914 17DoanRoi.outSo luong doan roi: 4Doan thu: 1Doan thu: 4Doan thu: 3Doan thu: 6Câu 3: (7,0 điểm) Tổng đoạn ngắn nhấtCho dãy gồm N số tự nhiên. Tìm đoạn ngắn nhất có tổng các phần tử bằng giátrị K cho trước. Trong đó đoạn là một dãy con gồm các phần tử liên tiếp nhau trongmột dãy cho trước. Trong các tập tin văn bản, dữ liệu trên cùng một dòng cách nhaubởi dấu khoảng trắng. Nếu không tìm được kết quả thì ghi số 0 vào tập tin kết quả.Dữ liệu vào trong tập tin văn bản TongDoanMin.inp:- Dòng thứ nhất chứa hai số tự nhiên N và K, 1 ≤ N ≤ 2000.- Từ dòng thứ hai trở đi chứa các phần tử của dãy.Kết quả xuất ra tập tin văn bản TongDoanMin.out:- Dòng thứ nhất chứa chỉ số đầu đoạn.- Dòng thứ hai chứa số phần tử trong đoạn.Ví dụ:TongDoanMin.inp21 170 2 3 2 10 1 5 5 6 12 20 30 14 8 0 11 0 6 0 0 57 5112 20 30 14 8 0 11TongDoanMin.outChi so dau doan: 16So phan tu trong doan: 3Chi so dau doan: 0So phan tu trong doan: 0--- 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: 22/9/2013________________Đề 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Điểm trongDiemTrong.*DiemTrong.inpDiemTrong.outCâu 2Xâu dàiXauDai.*XauDai.inpXauDai.outCâu 3Tìm mật khẩuTimPass.*TimPass.inpTimPass.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) Điểm trongCho một số tự nhiên n và mảng số thực A kích thước 4 x n chứa dữ liệu về nhình chữ nhật: (a[1,i], a[2,i]) và (a[3,i], a[4,i]) là toạ độ góc trái trên và góc phải dướicủa hình chữ nhật thứ i. Hỏi có điểm nào trong mặt phẳng toạ độ thuộc tất cả cáchình chữ nhật đã cho không? Hãy lập trình để giải bài toán đó.Dữ liệu vào từ tập tin văn bản DiemTrong.inp:- Dòng đầu tiên ghi số n (n ≤ 50).- Dòng thứ i trong n dòng tiếp theo, mỗi dòng gồm 4 số là các toạ độ a[1,i],a[2,i], a[3,i], a[4,i] tương ứng, các số được viết phân cách với nhau bởi dấu cách.Kết quả xuất ra tập tin văn bản DiemTrong.out:- Tất cả các toạ độ đã cho trong tập tin DiemTrong.inp- Ghi giá trị điểm tìm được hoặc thông báo không có điểm nào thuộc tất cảhình chữ nhật.Ví dụ:DiemTrong.inpDiemTrong.out33.0 1.0 6.0 4.031641.0 2.0 4.0 6.012462.0 3.0 5.0 5.02355Co diem thuoc tat ca hinh chu nhat 3.0 3.0 4.0 4.021.0 1.0 2.0 2.011225.0 5.0 6.0 6.05566Khong co diem nao thuoc tat ca hinh chu nhatCâu 2: (7,0 điểm) Xâu dàiCho một văn bản gồm n dòng (n ≤ 100), xác định dòng có nhiều ký tự nhấttrong một tập tin văn bản.Dữ liệu vào từ tập tin văn bản XauDai.inp:- Dòng đầu tiên ghi số n.- Dòng thứ i trong n dòng ghi các dòng văn bản.Kết quả xuất ra tập tin văn bản XauDai.out:- Nội dung dòng văn bản dài nhất tìm được.- Số lượng ký tự, ký tự khác khoảng trắng của dòng văn bản dài nhất tìm được.- Số từ của dòng văn bản dài nhất tìm được.Ví dụ:XauDai.inpXauDai.out4Dong van ban dai nhat tim duoc laXin chao.Thi hoc sinh gioi lop 12ToiDong tim duoc co tat ca la 24 ky tuThi hoc sinh gioi lop 12So ky tu khac khoang trang la 19Nam 2013Dong tim duoc co tat ca 6 tuCâu 3: (7,0 điểm) Tìm mật khẩuNgày nay để bảo vệ máy tính không bị người khác thâm nhập vào là một vấnđề đặt ra cho những người sử dụng máy tính. Để tăng tính an toàn trong lưu trữ thôngtin, một số người đã quyết định dấu mật khẩu truy cập máy tính của mình vào mộtxâu S với một quy ước sao cho khi cần người ta có thể lấy lại được mật khẩu từ xâuS như sau: sử dụng mật khẩu P là một số nguyên tố và đem dấu vào một xâu ký tự Ssao cho P chính là số nguyên tố có giá trị lớn nhất trong số các số nguyên tố tạo đượctừ các xâu con của S (xâu con của một xâu ký tự S là một chuỗi liên tiếp các ký tựtrong S).Cho một xâu ký tự S chiều dài không quá 250 ký tự. Tìm mật khẩu P đã dấutrong xâu S biết P có giá trị nhỏ hơn 10 5. Dữ liệu cho đảm bảo S chứa ít nhất 1 sốnguyên tố.Dữ liệu vào từ tập tin văn bản TimPass.inp gồm 1 dòng duy nhất là xâu S.Kết quả xuất ra tập tin văn bản TimPass.out gồm- Dòng 1 là các số được phân tích ra từ xâu S.- Dòng 2 là các số nguyên tố.- Dòng 3 là số P cần tìm tức là số nguyên tố lớn nhấtVí dụ:TimPass.inpMatKhauTest324#6234word751TimPass.outCac xau con la: 3 32 324 2 24 4 6 62 623 6234 2 23234 3 34 4 7 75 751 5 51 1Cac so nguyen to la: 3 2 2 23 3 7 751 5Ket qua la: 751--- 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 2015-2016Đề 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: 26/9/2015________________Đề 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 1 Tổng bình phươngTongBP.*TongBP.inpTongBP.outCâu 2 Phân tích sốPhanTichSo.*PhanTichSo.inpPhanTichSo.outCâu 3 Tổng hàng lớn nhấtTongHangMax.*TongHangMax.inp TongHangMax.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 bình phươngCho số nguyên dương N (N ≤ 100) và một dãy các số nguyên A1, A2, …, AN.Viết chương trình tính tổng bình phương của các số âm chẵn trong dãy trên.Dữ liệu vào trong tập tin văn bản TongBP.inp- Dòng 1: chứa số N (N ≤ 100).- Dòng 2: chứa dãy số A1, A2, …, AN.Kết quả xuất ra tập tin văn bản TongBP.out- Dòng 1: chứa dãy số âm chẵn tìm được sắp xếp giảm dần.- Dòng 2: chứa kết quả là tổng bình phương các số âm chẵn tìm được.Ví dụ:TongBP.inpTongBP.out6Day so am tim duoc: -2 -61 -3 4 5 -6 -2Tong binh phuong cac so am tim duoc = 40Câu 2: (7,0 điểm) Phân tích sốCho một số nguyên dương N (N ≤ 30). Hãy tìm tất cả các cách phân tích số Nthành tổng các số nguyên dương, các cách phân tích là hoán vị của nhau chỉ tính là 1cách.Dữ liệu vào trong tập tin văn bản PhanTichSo.inp chứa số nguyên dương N(N ≤ 30).Kết quả xuất ra tập tin văn bản PhanTichSo.out chứa các cách phân tích số N.Ví dụ:PhanTichSo.inp6PhanTichSo.outSo phan tich co dang:6 = 1+1+1+1+1+16 = 1+1+1+1+26 = 1+1+1+36 = 1+1+2+26 = 1+1+46 = 1+2+36 = 1+56 = 2+2+26 = 2+46 = 3+3So cach phan tich: 10Câu 3: (7,0 điểm) Tổng hàng lớn nhấtCho một ma trận M x N số nguyên (M, N ≤ 200). Hãy tính tổng lớn nhất trongcác hàng ma trận đó và đưa ra chỉ số các hàng đạt giá trị tổng lớn nhất đó.Dữ liệu vào trong tập tin văn bản TongHangMax.inp- Dòng 1: chứa 2 số nguyên M, N cách nhau bởi khoảng trắng.- M dòng tiếp theo chứa M hàng ma trận gồm N số nguyên, cách nhau bởi mộtkhoảng trắng.Kết quả xuất ra tập tin văn bản TongHangMax.out- Dòng 1: chứa giá trị lớn nhất của tổng các phần tử trên cùng một hàng.- Dòng thứ hai trở đi chứa chỉ số các hàng đạt giá trị tổng lớn nhất đó.Ví dụ:TongHangMax.inp65TongHangMax.outTong lon nhat: 347 5 6 10 6Hang thu: 19 6 8 -12 2Hang thu: 4-88 9 4 50 1Hang thu: 6888917 5 2 1 -3010 12 3 1 8--- 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 2015-2016Đề 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: 27/9/2015________________Đề 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 Đoạn không giảmDoanMax.*DoanMax.inpDoanMax.outCâu 2 Tổng hàng lẻTongHangLe.*TongHangLe.inpTongHangLe.outCâu 3 Dãy con KDayConK.*DayConK.inpDayConK.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) Đoạn không giảmCho dãy gồm N số nguyên (1  N  20000). Tìm đoạn không giảm có chiều dài lớnnhất. (đoạn không giảm phải chứa các phần tử liên tục)Dữ liệu vào trong tập tin văn bản DoanMax.inp- Dòng 1: số nguyên N (1  N  20000).- Dòng thứ 2: các phần tử của dãy, các phần tử này cách nhau bằng khoảng trắng.Kết quả xuất ra tập tin văn bản DoanMax.out- Dòng 1: chứa chỉ số bắt đầu đoạn.- Dòng 2: chứa số phần tử trong đoạn (chiều dài đoạn).Ví dụ :DoanMax.inp127 5 15 1 3 3 3 5 7 9 5 2DoanMax.outVi tri bat dau cua doan: 4So phan tu trong doan: 7Câu 2: (7,0 điểm) Tổng hàng lẻCho một ma trận M x N số nguyên (M, N ≤ 200). Hãy tính tổng số lẻ của từng hàngma trận, sau đó sắp xếp giảm dần theo các giá trị tổng đó.Dữ liệu vào trong tập tin văn bản TongHangLe.inp- Dòng 1: chứa 2 số nguyên M, N cách nhau bởi khoảng trắng.- M dòng tiếp theo chứa M hàng ma trận gồm N số nguyên, các số cách nhau bằngkhoảng trắng.Kết quả xuất ra tập tin văn bản TongHangLe.out- Dòng 1: chứa số nguyên M.- M dòng tiếp theo chứa M tổng các số lẻ của M hàng.- Dòng cuối cùng chứa tổng M số được sắp xếp giảm dần của tổng M hàng, các sốcách nhau bằng khoảng trắng.Ví dụ:TongHangLe.inp543 2 -1 55 7 -8 10-4 -3 1 32 -4 -1 7-5 1 13 -5TongHangLe.outTong cua 5 hangTong hang thu 1 = 7Tong hang thu 2 = 12Tong hang thu 3 = 1Tong hang thu 4 = 6Tong hang thu 5 = 4Tong cac so giam dan: 12 7 6 4 1Câu 3: (7,0 điểm) Dãy con KCho một dãy A gồm N số nguyên dương (1 ≤ N ≤ 1000) có dạng A1, A2, …, AN vàsố nguyên dương K (K ≤ 1000). Hãy tìm dãy con gồm nhiều phần tử nhất của dãy đã chosao cho tổng các phần tử của dãy con này chia hết cho K. (dãy con tìm được có thể chứa cácphần tử không liên tục trong dãy đã cho)Dữ liệu vào trong tập tin văn bản DayConK.inp- Dòng 1: N, K cách nhau bằng khoảng trắng.- Dòng 2: chứa N số A1, A2, …, AN cách nhau bằng khoảng trắng.Kết quả xuất ra tập tin văn bản DayConK.out- Dòng 1: số lượng phần tử tìm được.- Các dòng tiếp ghi các phần tử được chọn vào dãy con.- Dòng cuối ghi tổng các phần tử của dãy con đó.Ví dụ:DayConK.inp10 71 9 11 5 10 21 7 2 4 8DayConK.outSo luong phan tu tim duoc: 9A[1] = 1A[2] = 9A[3] = 11A[4] = 5A[5] = 10A[6] = 21A[7] = 7A[8] = 2A[9] = 4Tong cac phan tu cua day tim duoc: 70--- 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: 20,21/9/2014________________HƯỚNG DẪN CHẤM-----------------------A. Chuẩn bị1. Máy tính chấm bài phải có cài đặt Free Pascal phiên bản 2.6.2.2. Giám khảo kiểm tra các test đã xây dựng, mỗi câu trong đề thi đều có 5 test.B. Chấm bài1. Hai Giám khảo chấm độc lập.2. Giám khảo chấm từng câu trực tiếp trên máy tính.- Nếu đúng hết các test thì cho đủ số điểm;- Nếu chương trình chạy không đúng hết các test thì chấm:+ Nhập/ xuất dữ liệu từ file đúng yêu cầu1,0 điểm+ Khai báo biến rõ ràng đầy đủ0,5 điểm+ Chấm theo giải thuật của thí sinh nhưng không cho quá 50% điểm củabài toán.--- HẾT ---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: 20/9/2014________________TEST CHẤM BÀI---------------------Câu 1: (6,0 điểm) Tổng số lẻ giảmSumDes.inpTest 1 3112099Test 2 6235365890Test 3 93481572211619Test 4 82861250201840SumDes.outDay so le tim duoc: 99 11Tong cac so le tim duoc = 110Điểm0,5Day so le tim duoc: 65 35 3Tong cac so le tim duoc = 1031,0Day so tim duoc: 21 19 15 7 3Tong cua day so tim duoc = 651,0Day so le tim duoc: 0Tong cac so le tim duoc = 01,5Test 5 2012017234811202910150612911422604530Day so le tim duoc: 101 91 45 29 23 17 1111Tong cac so le tim duoc = 3192,0Câu 2: (7,0 điểm) Chuyển kí tựMoveChar.inpTest 1 1Test 2 2Test 3 3MoveChar.outCau hinh dau tien AOBOABBAOBOATong so lan chuyen: 3Cau hinh dau tien AAOBBAOABBABAOBABABOABOBAOBABABOABABBAOABBOAATong so lan chuyen: 8Cau hinh dau tien AAAOBBBAAOABBBAABAOBBAABABOBAABOBABAOBABABOABABABBAOABABĐiểm0,51,01,5BABAOABBABABAOBABABOABABOBAABOBABAABBOABAABBBAOAABBBOAAATong so lan chuyen: 15Cau hinh dau tien AAAAAOBBBBBAAAAOABBBBBAAAABAOBBBBAAAABABOBBBAAAABOBABBBAAAOBABABBB…………………..BBBABOBAAAABBBOBABAAAABBBBOABAAAABBBBBAOAAAABBBBBOAAAAATong so lan chuyen: 35CauhinhdautienAAAAAAAAAAOBBBBBBBBBBAAAAAAAAAOABBBBBBBBBBAAAAAAAAABAOBBBBBBBBBAAAAAAAAABABOBBBBBBBBAAAAAAAAABOBABBBBBBBBAAAAAAAAOBABABBBBBBBB……………………………………..BBBBBBBBABOBAAAAAAAAABBBBBBBBOBABAAAAAAAAABBBBBBBBBOABAAAAAAAAABBBBBBBBBBAOAAAAAAAAABBBBBBBBBBOAAAAAAAAAATong so lan chuyen: 120Test 4 5Test 5 102,02,0Câu 3: (7,0 điểm) Thỏ con hái hoaThoHaiHoa.inpTest 1 22 -441Test 2 42 5 -4 10-1 5 -10 68 10 2 -9-3 -2 1 -4ThoHaiHoa.outTong so hoa nhieu nhat ma Tho con haiduoc: 7Điểm0,5Tong so hoa nhieu nhat ma Tho con haiduoc: 211,0Test 3 53 6 -2 5 9-2 -7 7 9 1010 5 -9 -8 27 -5 3 2 1-9 8 10 3 2Test 4 6-2 -5 -4 10 -2 3-1 -5 -10 6 2 -98 10 2 -9 -3 -7-9 2 6 -7 -1 83 -5 2 2 1 -5-4 1 3 -10 3 -5Test 5 10-2 -5 -4 10 -2 3 -2 1 3 4-1 -5 -10 6 2 -9 -3 -9 2 -78 10 2 -9 -3 -7 -4 2 2 -1-9 2 6 -7 -1 8 4 8 -4 -43 -5 2 2 1 -5 8 10 -2 -1-4 1 3 -10 3 -5 4 9 10 210 -2 3 -2 1 3 4 -3 -2 1-2 -10 -2 3 -2 1 3 4 9 10-1 -4 1 -2 3 -2 1 3 4 102 4 -8 9 10 -2 3 -2 1 3 4Tong so hoa nhieu nhat ma Tho con haiduoc: 381,5Tong so hoa nhieu nhat ma Tho con haiduoc: 262,0Tong so hoa nhieu nhat ma Tho con haiduoc: 942,0--- HẾT ---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: 21/9/2014________________TEST CHẤM BÀI---------------------Câu 1: (6,0 điểm) Ghép hình chữ nhật có diện tích lớn nhấtHCNMax.inpTest 154Test 292Test 3232Test 4335Test 510020HCNMax.outTong so doan t = 4Dien tich lon nhat s = 16Tong so doan dat tren 1 chieu rong a = 1Tong so doan dat tren 1 chieu dai b = 1Tong so doan t = 8Dien tich lon nhat s = 16Tong so doan dat tren 1 chieu rong a = 2Tong so doan dat tren 1 chieu dai b = 2Tong 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 = 6Tong so doan t = 32Dien tich lon nhat s = 1600Tong so doan dat tren 1 chieu rong a = 8Tong so doan dat tren 1 chieu dai b = 8Tong so doan t = 100Dien tich lon nhat s = 250000Tong so doan dat tren 1 chieu rong a = 25Tong so doan dat tren 1 chieu dai b = 25Điểm0,51,01,01,52,0Câu 2: (7,0 điểm) Đoạn thẳng rờiDoanRoi.inpTest 1Test 222415412375610 12DoanRoi.outSo luong doan roi: 1Doan thu: 1So luong doan roi: 3Doan thu: 1Doan thu: 3Doan thu: 4Điểm0,51,01Test 3Test 4Test 56347 1210 135716 1914 17846128937562810 126 101029461559375 102810 126 102 20So luong doan roi: 4Doan thu: 1Doan thu: 4Doan thu: 3Doan thu: 61,5So luong doan roi: 4Doan thu: 2Doan thu: 5Doan thu: 3Doan thu: 72,0So luong doan roi: 4Doan thu: 2Doan thu: 5Doan thu: 3Doan thu: 72,0Câu 3: (7,0 điểm) Tổng đoạn ngắn nhấtTongDoanMin.inpTest 1 4 132491Test 2 7 5112 20 30 14 8 0 11Test 3 21 170 2 3 2 10 1 5 5 6 12 20 30 14 8 0 11 06005Test 4 27 1802 4 10 1 6 12 21 19 11 4 8 3 10 22 9021 30 3 4 6 8 29 23 1 5 2 11Test 5 27 20021 30 3 4 6 8 21 19 11 4 8 3 10 22 9029 23 1 5 2 11 2 4 10 3 6 14TongDoanMin.outChi so dau doan: 2So phan tu trong doan: 2Chi so dau doan: 0So phan tu trong doan: 0Chi so dau doan: 16So phan tu trong doan: 3Điểm0,5Chi so dau doan: 13So phan tu trong doan: 72,0Chi so dau doan: 9So phan tu trong doan: 92,01,01,5--- HẾT --2KỲ THI CHỌN HSG LỚP 12 THPT NĂM HỌC 2015-2016ĐỀ THI MÔN: TIN HỌC – THPTSỞ GD&ĐT VĨNH PHÚCThời gian: 180 phút, không kể thời gian giao đề(Đề thi có 02 trang)ĐỀ CHÍNH THỨCTổng quan về đề thiTên bàiDãy sốTổng chính phươngĐếm hình chữ nhậtFile chương trìnhFile dữ liệuFile kết quảThời gianĐiểmnumseq.*numseq.inpnumseq.out1 giây3ssquare.*ssquare.inpssquare.out1 giây4reccount.*reccount.inpreccount.out1 giây3Thí sinh thay * trong File chương trình bằng CPP hoặc PAS tùy theo ngôn ngữ lập trình mà thísinh sử dụng là C++ hoặc PascalLập chương trình giải các bài toán sau đâyBài 1. Dãy sốCho dãy số{ĐặtLập chương trình tìm chữ số cuối cùng của X.Dữ liệuMột dòng duy nhất ghi số n.Kết quảMột dòng duy nhất ghi kết quả tìm được.Ví dụInput4output5Ràng buộc dữ liệu;điểm dành cho các test có.Bài 2. Tổng chính phươngSau tiết học về ‘Số chính phương’ (số chính phương là bình phương của một số tự nhiên),Minh rất thích thú và nghĩ ra một trò chơi để đố các bạn. Minh sẽ nghĩ ra một số nguyên dươngbất kì và đố các bạn xem số đó có là tổng của 4 số chính phương dương hay không. Ví dụ:53=22+22+32+62; 94=22+42+52+72.Yêu cầu: Lập chương trình giúp các bạn của Minh tìm cách phân tích một số nguyên dương Nthành tổng của 4 số chính phương dương.Dữ liệu: Một dòng duy nhất ghi một số nguyên dương N (0 < N < 105).Kết quả: Nếu phân tích được in ra số 1, ngược lại in ra -1.Ví dụ:Input53output1Trang 1Bài 3. Đếm hình chữ nhậtCho một ma trận A kích thước MxN, các phần tử A[i,j] chỉ nhận giá trị bằng 1 hoặc bằng 0.Các phần tử có giá trị 1 liền cạnh nhau khép kín có thể tạo thành hình chữ nhật có toạ độ đỉnhtrên cùng bên trái là phần tử A[i,j], toạ độ đỉnh dưới cùng bên phải là phần tử A[u,v] nếu nóthoả mãn điều kiện sau: Các phần tử A[i-1,j], A[i-1,j+1], …, A[i-1, v] đều bằng 0 nếu i>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