Tải bản đầy đủ (.pdf) (11 trang)

tuyển tập đề thi pascal 1112 HSG tại tỉnh Quảng Trị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.23 MB, 11 trang )

SỞ GIÁO DỤC & ĐÀO TẠO
QUẢNG TRỊ

KỲ THI CHỌN HỌC SINH GIỎI VĂN HÓA LỚP 11 THPT

ĐỀ CHÍNH THỨC

Khoá ngày: 11 tháng 04 năm 2013
Môn thi: TIN HỌC
Thời gian: 180 phút ( không kể thời gian giao đề)

Em hãy dùng ngôn ngữ lập trình Pascal hoặc FreePascal để lập trình giải các bài toán sau:
Bài 1. (6 điểm) Dãy nguyên tố

Tên chương trình: PRIMESEQ.PAS

Cho trước một dãy N số nguyên dương a1,a2,…,aN. Hãy xác định tổng chi phí T nhỏ nhất
để chuyển dãy số đã cho thành một dãy số may mắn b1,b2,…,bN thỏa mãn điều kiện sau:
- ai ≤ bi (1≤ i ≤N).
- bi là số nguyên tố (1≤ i ≤N).
Cho biết: Chi phí để thay thế một số nguyên a thành một số nguyên b là |a-b|.
Dữ liệu vào: Cho trong tệp văn bản PRIMESEQ.INP có cấu trúc như sau:
- Dòng 1: ghi N
- Các dòng tiếp theo ghi a1,a2,…,aN. (Các số ghi cách nhau ít nhất 1 dấu cách)
Kết quả: ghi ra tệp văn bản PRIMESEQ.OUT gồm một dòng chứa giá trị T tìm được.
Giới hạn dữ liệu:1≤ ai ≤106 (Với 1≤ i ≤N); 1Ví dụ:
PRIMESEQ.INP PRIMESEQ.OUT
5
12563
3


4 8 20

Bài 2. (5 điểm) Từ tương đương

2
7

Tên chương trình: EQWORD.PAS

Hai từ được gọi là tương đương nếu tồn tại một cách hoán đổi vị trí các kí tự trong từ
này để thu được từ kia. Ví dụ hai từ h e llo và h o lle là tương đương, nhưng hai từ H e llo và
h e llo là không tương đương.
Yêu cầu: Cho trước một xâu ký tự S, Hãy đếm số cặp từ tương đương có trong xâu S.
Dữ liệu: Đọc vào từ tệp văn bản EQWORD.INP gồm một xâu duy nhất không quá 2 5 5 chữ
cái, các từ cách nhau ít nhất một dấu cách.
Kết quả: Ghi ra tệp EQWORD.OUT gồm một số duy nhất là số cặp từ tương đương trong xâu S.
Ví dụ:
EQWORD.INP
EQWORD.OUT
Abc abAc Aabc cAb Abc 4
Bài 3. (6 điểm) Chuỗi hạt ngọc

Tên chương trình: PEARL.PAS

Tony có một chuỗi N hạt ngọc (1≤ N≤10000), trong chuỗi có một số hạt màu đỏ, một
số hạt màu xanh, những hạt còn lại màu trắng, các hạt trong chuỗi được xếp một cách ngẫu
nhiên.Ví dụ chuỗi hạt S khi cắt đứt tại 1 vị trí và kéo thẳng ra có như sau: bbwbrrrwbrbrrrrrb
Tony muốn cắt chuỗi hạt tại một vị trí nào đó và trải thẳng ra, sau đó chọn những hạt
cùng màu với hạt đầu tiên từ vị trí bị cắt cho đến khi gặp hạt khác màu.
Yêu cầu: Hãy giúp Tony xác định điểm cắt để số lượng hạt được chọn là lớn nhất, trong

trường hợp chuỗi có hạt màu trắng thì nếu gặp hạt màu trắng có thể coi nó là màu xanh hoặc
màu đỏ đều được (tuỳ ý chọn ).
-----------------------------------------------------------------------------------------------------------Đề thi HSG môn Tin học lớp 11 năm 2013 - Trang 1/2


D liu vo: Cho trong file PEARL.INP gm 2 dũng:
- Dũng u l s nguyờn dng N (vi 1 N10000).
- Dũng th hai l mt chui di N biu din chui ht ngc vi quy c: ký t r:
biu din ht mu ; b: biu din ht mu Xanh; w: biu din ht mu Trng.
D liu ra: Cho bi file PEARL.OUT, gm:
- Dũng u l 2 s nguyờn dng i, j (vi 1i,j N) l v trớ s t im ct gia i v j
- Dũng th 2 cha s lng ht c chn.

Ví dụ:
PEARL.INP
17
bbwbrrrwbrbrrrrrb
29
brbrrrbbbrrrrrbrrbbrbbbbrrrrb

Bi 4. (3 im) Làm việc tập th

PEARL.OUT
16 17
10
9 10
8

Tờn chng trỡnh: WORK.PAS


Công ty X có N nhân viên rất xuất sắc, những lúc làm việc một mình họ làm việc rất
hiệu quả. Tuy nhiên vì các nhân viên đều cú nhng cỏ tớnh riờng v họ không có tiếng nói
chung khi phải quyết định xử lý mt công việc nờn khi 2 nhân viên cùng làm việc với nhau
thì hiệu suất công việc gần nh- bằng không. Do đặc điểm mỗi nhân viên phải đảm trách mt
công việc khác nhau và tính kỳ quặc của họ nên thời gian làm việc của mỗi nhân viên là
không thay đổi đó là một khoảng thời gian liên tiếp từ thời điểm ai đến thời điểm bi, các
khoảng thời gian này là không giống nhau, có lúc có thể chỉ có 1 nhân viên làm việc. Giám
đốc công ty có ý định chỉ chọn và giữ lại một số nhân viên sao cho tổng thời gian làm việc
hiệu quả là lớn nhất.
Yêu cầu: Hãy lập trình giúp giám đốc thực hiện lựa chọn trên.
Dữ liệu Vào:Từ file văn bản WORK.INP gồm có:
Dòng đầu tiên ghi N là số nhân viên (1N10000)
N dòng tiếp theo mỗi dòng ghi hai số ai và bi là thời điểm bắt đầu và kết thúc giờ làm
việc của nhân viên i (0aibi109)
Kết quả: Ghi ra file văn bản WORK.OUT gồm một số nguyên duy nhất là tổng thời gian làm
việc hiệu quả lớn nhất tìm đ-ợc.

Ví dụ:
Ví dụ:

WORK.INP
7
100 150
0 1000
900 1000
1800 2000
900 1800
272 314
1900 2000


WORK.OUT
1900

Ghi chú: Các nhân viên đ-ợc giữ lại là 2, 4 và 5
-----------------Ht----------------Lu ý: Thớ sinh to trờn a D th mc cú tờn l s bỏo danh, lm bi v lu vo th mc va to. Vớ d thớ
sinh cú SBD l 15 s to th mc D:\15 v lu bi lm vo th mc ny.

----------------------------------------------------------------------------------------------------------- thi HSG mụn Tin hc lp 11 nm 2013 - Trang 2/2


UBND TỈNH QUẢNG TRỊ
SỞ GIÁO DỤC VÀ ĐÀO TẠO

KỲ THI CHỌN HỌC SINH GIỎI VĂN HÓA LỚP 12 THPT
Năm học: 2012 – 2013
Khóa thi ngày: 06/03/2013

ĐỀ CHÍNH THỨC

Môn thi: TIN HỌC
Thời gian làm bài: 180 phút (không kể thời gian giao đề)

Họ và tên thí sinh: ............................................................... Số báodanh: ..........................................................................
Chữ ký của giám thị 1: ...................................................... Chữ ký của giám thị 2: ......................................................
Em hãy dùng ngôn ngữ lập trình Pascal hoặc FreePascal để lập trình giải các bài toán sau:

CÂU 1 (3 điểm) Tính tổng
Tên chương trình SUM.PAS
Trong cuộc thi Tin học trẻ người ta tổ chức một trò chơi như sau, trên một màn hình lớn,
lần lượt cho hiện ra các số của một dãy gồm N số nguyên không âm a1, a2, …, aN và cứ lặp

đi lặp lại như thế. Mỗi người chơi sẽ theo dõi màn hình và được đề nghị tính tổng của K số
nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B, nếu người chơi tính
đúng sẽ nhận được phần thưởng của Ban tổ chức. Hãy viết chương trình giúp Ban tổ chức
kiểm tra kết quả tính được của người chơi.
Dữ liệu vào: cho trong tệp văn bản SUM.INP gồm hai dòng
+ Dòng đầu tiên ghi ba số nguyên N, K và B, 1  N 100, 1  K 100, 1  B  109.
+ Dòng thứ hai chứa dãy số nguyên không âm a1, a2, …, aN.
Dữ liệu ra: ghi ra tệp văn bản SUM.OUT gồm một dòng chứa tổng tính được.
Ví dụ:
SUM.INP
SUM.OUT
5 7 154
24
1 2 3 4 5
CÂU 2 (5 điểm) Đếm kí tự
Tên chương trình: COUNT.PAS
Cho một xâu ký tự S gồm nhiều từ được tạo bởi các kí tự thường từ ‘a’ ..’z’.
Hãy tìm trong xâu S một từ mà trong từ đó có chứa kí tự được xuất hiện nhiều lần nhất.
Dữ liệu vào: Cho trong tệp văn bản COUNT.INPgồm 1 xâu S ( S ≤ 255).
Kết quả: Ghi ra tệp COUNT.OUT gồm 1dòng với 3 giá trị viết cách nhau ít nhất một dấu
cách, đó là các giá trị: + Giá trị thứ nhất: là từ tìm được;
+ Giá trị thứ 2: là một số nguyên dương cho biết số lần xuất hiện
nhiều nhất của kí tự trong từ tìm được.
+ Giá trị thứ 3: là kí tự xuất hiện nhiều nhất trong từ.
Trong trường hợp có hai từ cùng chứa kí tự với số lần xuất hiện lớn nhất như nhau hay
trong từ có chứa 2 kí tự có cùng số lần xuất hiện lớn nhất như nhau thì ghi vào chữ “equally” (ví
dụ từ “aaaabbbb” có 4 lần xuất hiện chữ “a” và 4 lần xuất hiện chữ “b” thì ghi vào “equally”).
Ví dụ:
COUNT.INP


COUNT.OUT

aaabbb engineering interconnection

interconnection 4 n

CÂU 3 (5 điểm) Hội trại
Tên chương trình: GAME.PAS
Trong dịp tổ chức hội trại 26/3, Ban tổ chức tổ chức một số trò chơi tập thể, trong đó có
trò chơi thi kéo co gữa các lớp với yêu cầu: Mỗi lớp chọn ra một đội gồm N học sinh xếp thành
một hàng để thi đấu. Lớp 12A có N bạn nam và N bạn nữ và ai cũng muốn được tham gia.
1/2


Hãy lập trình giúp lớp 12A đưa ra tất cả các phương án chọn các học sinh đứng vào vị
trị trong hàng để thi đấu theo đúng yêu cầu của Ban tổ chức.
Dữ liệu vào: Cho trong tệp GAME.INP gồm 1 dòng là số nguyên dương N (N≤15).
Kết quả: Ghi ra tệp GAME.OUT gồm nhiều dòng, dòng đầu là một số nguyên dương cho
biết số phương án, từ dòng thứ 2 trở đi mỗi dòng chứa một phương án.
Ví dụ: Với N=2, và giả sử ta ký hiệu bạn nam là 1 và bạn nữ là 0, sẽ có kết quả như sau:
GAME.INP
GAME.OUT
2
4
00
01
10
11
CÂU 4 (7 điểm) Dãy số con chia hết.


Tên chương trình: SEQ.PAS

a . Dãy số con của dãy ban đầu thu
Cho dãy số gồm N số nguyên dương a , a
được bằng cách bỏ đi các phần tử bất kì của dãy, ví dụ dãy 3 , 7 , 3 là dãy số con của dãy
1, 6 , 3, 7 , 4 , 3 nhưng dãy 3 , 3 , 7 không phải là dãy số con của dãy 1, 6 , 3, 7 , 4 , 3 .
a được gọi là dãy số chia hết hoàn toàn nếu a là ước của a với
Một dãy số a , a
mọi i  j . Ví dụ dãy số 3,1 5, 6 0 , 7 2 0 là một dãy số chia hết hoàn toàn.
a , hãy xác định dãy số chia hết hoàn toàn dài nhất là dãy
Yêu cầu: Cho trước dãy số a , a
con của dãy đã cho.
Dữ liệu: vào từ tệp văn bản SEQ.INP có cấu trúc như sau:
- Dòng đầu ghi số nguyên dương N  3  N  5 0 0 0  .
1

1

2

2

N

N

i

1


2

j

N

(1  a  1 0 ) .
a
- Các dòng tiếp theo ghi lần lượt các số a , a
Kết quả: ghi ra tệp văn bản SEQ.OUT gồm một số nguyên duy nhất là độ dài lớn nhất của
dãy số tìm được.
Các số trong tệp cách nhau ít nhất một dấu cách.
Ví dụ:
SEQ.INP SEQ.OUT
SEQ.INP SEQ.OUT
9

1

9
2
3
7
8
14
39
145
76
320


2

N

i

3

14
5
2
11
16
12
36
60
71
17
29
144
288
129
432
993
---------------------------------------Hết---------------------------------------------Lưu ý: Thí sinh tạo trên ổ đĩa D thư mục có tên là số báo danh, làm bài và lưu vào thư mục vừa tạo. Ví dụ thí
sinh có SBD là 15 sẽ tạo thư mục D:\15 và lưu bài làm vào thư mục này.

2/2



UBND TỈNH QUẢNG TRỊ
SỞ GIÁO DỤC VÀ ĐÀO TẠO

KỲ THI CHỌN HỌC SINH GIỎI VĂN HÓA LỚP 12 THPT
Khóa thi ngày: 05/03/2014

ĐỀ CHÍNH THỨC

Môn thi: TIN HỌC
Thời gian làm bài: 180 phút (không kể thời gian giao đề)

Em hãy dùng ngôn ngữ lập trình Pascal hoặc FreePascal để lập trình giải các bài toán sau:

Bài 1. (4điểm) Giải mã văn bản

Tên chương trình:GIAIMA.PAS

Để đảm bảo tính bảo mật trong công tác truyền tin, Cục thông tin quốc gia quy định
phải mã hóa bản tin gốc trước khi gửi đi bằng cách thêm các ký tự # vào các vị trí trong bản
tin. Chính vì vậy khi cô văn thư của công ty ABC nhận được một văn bản của cấp trên cô
không thể đọc được, tiếp theo sau đó cô nhận được một bản hướng dẫn giải mã như sau:
trong một xâu nếu tính từ trái sang phải của xâu nếu gặp ký tự # thì # là dấu hiệu yêu cầu
xoá đi một ký đứng ngay trước nó và chính nó, nếu ký tự # đứng đầu một từ thì chỉ xóa ký
tự #. Em hãy viết chương trình giúp cô văn thư giải mã các văn bản nhận được.
Dữ liệu vào: Cho trong file văn bản GIAIMA.INP gồm một dòng có không quá 255 kí tự.
Kết quả: Ghi vào tập tin GIAIMA.OUT là nội dung văn bản sau khi được giải mã
Ví dụ:
GIAIMA.INP

GIAIMA.OUT

Toi thi hoc sinh gioi tin hoc

Ta#oi thi hoc sinu#h gioi tin hoj#c

Bài 2. (5điểm) Xếp hàng

Tên chương trình: XEPHANG.PAS

Một nhóm học sinh gồm nam và nữ tổ chức sinh hoạt tập thể. Trong buổi sinh hoạt
bạn nhóm trưởng muốn tổ chức một trò chơi nên đã yêu cầu các bạn học sinh chọn N bạn
trong nhóm xếp thành hàng ngang sao cho không có 2 bạn nam nào đứng kề nhau (1≤N≤20).
Yêu cầu: Hãy liệt kê tất cả các cách xếp hàng thoả mãn yêu cầu trên.
Dữ liệu vào: cho bởi File XEPHANG.INP gồm một dòng ghi số N
Kết quả: ghi ra file XEPHANG.OUT có cấu trúc như sau:
- Dòng 1: ghi số nguyên dương k là số cách xếp thoả mãn yêu cầu
- k dòng tiếp theo, mỗi dòng là một phương án xếp hàng.
Ví dụ: giả sử ta mã hoá bạn nam là 1 và bạn nữ là 0, với N =4 ta có kết quả như sau:
XEPHANG.INP
4

XEPHANG.OUT

8
0000
0001
0010
0100
1000
0101
1001

1010

Bài 3: (6 điểm) Chọn đề thi
Tên chương trình: CANSU.PAS
Một lớp học có MxN chỗ ngồi, gồm M hàng ghế, mỗi hàng ghế có N học sinh. Để
chuẩn bị cho kỳ thi học sinh giỏi Tin học, ban cán sự lớp mỗi người sáng tác một đề thi sau
1/2


đó sao thành nhiều bản và đưa cho các bạn ngồi bên cạnh (trái, phải, trước, sau) mỗi người
đúng 1 bản, Sau đó mỗi người trong lớp thông báo số đề mình đã nhận được.
Yêu cầu: Xác định vị trí của những người trong ban cán sự lớp.
Dữ liệu vào: cho bởi File CANSU.INP có cấu trúc như sau:
- Dòng 1: ghi 2 số ( Với 1<=M, N (M,N<=50)
- M dòng tiếp theo, với dòng i gồm các số i1, i2, …, in cho biết số đề mà mỗi người ở
hàng ghế thứ i nhận được. Các số được viết cách nhau một dấu cách
Kết quả: ghi ra file CANSU.OUT có cấu trúc như sau: có M dòng, trên mỗi dòng gồm có N
ký tự “ . “ hoặc “x”, trong đó ký tự “x” thể hiện vị trí của ban cán sự lớp, nếu không có
phương án thi ghi là “Không có nghiệm”.
Ví dụ:
CANSU.INP
CANSU.OUT
6 6
. . . . . .
010110
. x . x x .
103111
. . x . . .
020210
. . . . . .

001010
. . . . x .
010102
. x . . . x
101020
Bài 4: (5 điểm) Xóa điểm game

Tên chương trình: XOADIEM.PAS

Flappy Bird là một game rất được người dùng điện thoại thông minh trên toàn thế giới ưa
thích, nó được sáng lập bởi một lập trình viên Việt nam.
An đã chơi game này n ván. Điểm của ván chơi thứ i là ai (1 ≤ ai ≤ 5000). Mặc dù rất
cố gắng nhưng kết quả của mỗi ván chơi không hoàn toàn tốt như nhau. An muốn xóa bớt
một số điểm của các ván đã chơi sao cho số điểm của các ván còn lại không có ván nào có số
điểm lớn hơn gấp hai lần số điểm của ván khác.
Em hãy giúp An tính xem cần phải xóa ít nhất bao nhiêu ván đã chơi.
Dữ liệu: vào từ file văn bản XOADIEM.INP có cấu trúc như sau:
- Dòng đầu ghi n là số lượng ván đã chơi;
- Dòng thứ hai ghi n số nguyên a1,a2,…,an lần lượt là điểm số của các ván đã chơi.
- Các số trong file cách nhau ít nhất một dấu cách.
Kết quả: ghi ra file văn bản XOADIEM.OUT ghi duy nhất một số là số lượng ván ít nhất cần xóa.
Ví dụ:
XOADIEM.INP

XOADIEM.OUT

6
4 5 3 8 3 7
4
4 3 2 4


2
0

Giới hạn: Thời gian thực hiện không quá 1s.
- Có 60% test n≤1000 tương ứng 60% số điểm;
- Có 40% test n≤100000 tương ứng 40% số điểm;
----------------- Hết ------------------Lưu ý: Thí sinh tạo trên ổ đĩa D thư mục có tên là số báo danh, làm bài và lưu vào thư mục vừa tạo. Ví dụ thí
sinh có SBD là 15 sẽ tạo thư mục D:\15 và lưu bài làm vào thư mục này.

2/2


Edited by Foxit Reader
Copyright(C) by Foxit Software Company,2005-2007
For Evaluation Only.

SỞ GIÁO DỤC VÀ ĐÀO TẠO QUẢNG TRỊ
TRƯỜNG THPT CHUYÊN LÊ QUÝ ĐÔN
ĐỀ CHÍNH THỨC

KỲ THI HSG VĂN HÓA LỚP 11 THPT
Khóa ngày: 06/4/2016
MÔN THI: TIN HỌC.
Thời gian: 150 phút (không kể thời gian giao đề)

TỔNG QUAN ĐỀ THI
Bài
1
2

3
4

Tên bài
Tổng chẵn hay lẻ
Chênh lệch lớn nhất
Số tổng khác nhau
Khoảng cách lớn nhất

File chương trình
ABKSUM.PAS
MAXDIF.PAS
SUBSUM.PAS
TWOPDIST.PAS

File dữ liệu
ABKSUM.INP
MAXDIF.INP
SUBSUM.INP
TWOPDIST.INP

File kết quả
Điểm
ABKSUM.OUT
5
MAXDIF.OUT
6
SUBSUM.OUT
5
TWOPDIST.OUT

4

(Thời gian thực hiện chương trình 1 giây trên mỗi test.)

Bài 1: Tổng chẳn hay lẻ.
Cho ba số nguyên dương A, B và K. Hãy kiểm tra xem tổng K.a1 + K.a2 + …+ K.ar, trong đó a1, a2,
…, ar là một dãy số nguyên dương liên tục với a1 = A và ar = B là một số chẵn hay số lẻ.
Ví dụ: với A = 4, B = 7 và K = 3, ta có tổng: 3.2 + 3.3 + 3.4 = 3.9 = 27 là một số lẻ.
Dữ liệu vào từ tệp văn bản ABKSUM.INP gồm:
 Dòng tiên ghi số T là số test trong tệp (0 < T ≤ 10)
 T dòng tiếp theo mỗi dòng ghi ba số A, B, K tương ứng với mỗi test, mỗi số cách nhau một dấu
cách và có không quá 15 chữ số.
Kết quả ghi ra tệp ABKSUM.OUT tương ứng với mỗi test trong tệp dữ liệu vào ghi ra một dòng. Ghi
“YES” nếu tổng tìm được là số chẵn, “NO” nếu tổng tìm được là số lẻ.
Ví dụ:
ABKSUM.INP

ABKSUM.OUT

2
2 4 2
2 4 3

YES
NO

Biết rằng: có 75% số tests có T ≤ 6; A, B ≤ 106; K ≤ 109.
Bài 2: Chênh lệch lớn nhất.
Cho dãy A gồm N số nguyên không âm a1, a2, ..., aN. Với mỗi phần tử X của A ta thực hiện:
1. Tìm phần tử Y nhỏ nhất lớn hơn X trong A. (Y nhỏ nhất trong số các phần tử lớn hơn X)

2. Tính độ chênh lệch giữa X và Y (được tính bằng trị tuyệt đối của hiệu giữa X và Y).
Kết quả cần tìm của bài toán là giá trị lớn nhất trong tất cả các giá trị chênh lệch tìm được.
Ví dụ: N = 5, dãy A = {6, 7, 3, 5, 10} ta có: với phần tử đầu tiên của dãy A là 6, phần tử có giá trị nhỏ
nhất của A lớn hơn 6 là 7 và sự chênh lệch giữa hai phần tử này là 1. Tương tự, phần tử thứ hai của dãy
là 7, phần tử nhỏ nhất của dãy lớn hơn 7 là 10 và sự chênh lệch là 3; với 3 là 5 và độ chênh lệch là 2; 5
là 6 và độ chênh lệch 1. Ta có dãy chênh lệch là 1, 3, 2, 1. Vậy kết quả cần tìm là 3.
Dữ liệu vào từ tệp văn bản MAXDIF.INP gồm:
 Dòng đầu ghi số nguyên dương N (2 ≤ N ≤ 105)
 Dòng tiếp theo ghi N số nguyên a1, a2, …, aN, các số cách nhau một dấu cách (0 ≤ ai ≤ 105, i =
1, 2, …, N)
Kết quả ghi ra tệp văn bản MAXDIF.OUT gồm một dòng ghi một số là giá trị chênh lệnh lớn nhất tìm
được.

Trang 1/2


Ví dụ:
MAXDIF.INP
5
6 7 3 5 10

MAXDIF.OUT
3

Biết rằng: có 75% số tests có N ≤ 5000.
Bài 3: Số tổng khác nhau.
Cho dãy A gồm N số nguyên dương a1, a2, ..., aN. Một dãy con của A là một dãy khác rỗng thu được
bằng cách chọn ra từ A một số phần tử và giữ nguyên thứ tự của chúng.
Với một dãy con 𝐴𝑖 = {𝑎𝑖1 , 𝑎𝑖2 , … , 𝑎𝑖𝑘 }, 𝑆 = 𝑎𝑖1 + 𝑎𝑖2 + ⋯ + 𝑎𝑖𝑘 gọi là tổng của dãy con đó.
Cho trước hai số nguyên dương P và Q, có bao nhiêu giá trị S khác nhau từ các tổng của các dãy

con của A, lớn hơn hoặc bằng P và bé hơn hoặc bằng Q (P ≤ S ≤ Q).
Dữ liệu vào từ tệp văn bản SUBSUM.INP gồm:
 Dòng đầu ghi ba số nguyên dương N, P, Q (1 ≤ N ≤ 100, 1 ≤ P < Q ≤ 100)
 Dòng tiếp theo ghi N số nguyên dương của dãy A, mỗi số cách nhau một dấu cách (0 < ai ≤ 100,
i = 1, 2, …, N).
Kết quả ghi ra tệp văn bản SUBSUM.OUT gồm một dòng ghi một số là số dãy con tìm được.
Ví dụ:
SUBSUM.INP

SUBSUM.OUT

Giải thích

6 3 7
8 2 3 10 5 5

3

Có 3 tổng có giá trị khác nhau:
3, 5, 7 (2 + 5).

Biết rằng:
 Có 30% số tests có N ≤ 20.
 Có 60% số tests có N ≤ 40.
Bài 4: Khoảng cách lớn nhất.
Trên mặt phẳng tọa độ nguyên xOy, cho N điểm tọa độ nguyên P1(x1, y1), P2(x2, y2), …, PN(xN, yN).
Hãy tìm khoảng cách (Euclidean) lớn nhất giữa hai điểm trong tất cả điểm đã cho.
Để tránh tính toán trên số thực ta tính khoảng cách giữa hai điểm bằng bình phương khoảng cách
Euclidean: với hai điểm (x1, y1) và (x2, y2), khoảng cách giữa chúng là: (x1 – x2)2 + (y1 – y2)2.
Dữ liệu vào từ tệp văn bản TWOPDIST.INP gồm:

 Dòng đầu ghi số nguyên dương N là số điểm trên mặt phẳng (2 ≤ N ≤ 106).
 Dòng tiếp theo ghi số M là giá trị hoành độ và tung độ lớn nhất của các điểm (2 ≤ M ≤ 1500).
 N dòng tiếp theo, dòng i ghi hai số nguyên xi, yi là tọa độ của điểm thứ i (|xi| ≤ M, |yi| ≤ M).
Kết quả ghi ra tệp văn bản TWOPDIST.OUT gồm một dòng ghi một số nguyên dương là khoảng cách
lớn nhất tìm được.
Ví dụ:
TWOPDIST.INP TWOPDIST.OUT
2
15
-1 10
10 1

202

Biết rằng:
 Có 30% số tests có N ≤ 1000, M ≤ 1000; xi ≥ 0, yi ≥ 0 i = 1, 2, …, N.
 Có 60% số tests có N ≤ 100000, M ≤ 1000; xi ≥ 0, yi ≥ 0 i = 1, 2, …, N.
-----------------Hết----------------Lưu ý: Thí sinh tạo trên ổ đĩa D thư mục có tên là số báo danh, làm bài và lưu vào thư mục vừa tạo. Ví dụ thí sinh
có SBD là 15 sẽ tạo thư mục D:\15 và lưu bài làm vào thư mục này.

Họ và tên: ………………………..………….
Trang 2/2

Số báo danh: ……………………


ĐỀ THI TIN HỌC TRẺ TỈNH QUẢNG TRỊ LẦN THỨ XVIII, NĂM-2016
KHỐI C (TRUNG HỌC PHỔ THÔNG)
ĐỀ CHÍNH THỨC
Thời gian làm bài: 150 phút, không kể thời gian giao đề

Ngày thi 15 tháng 7 năm 2016
TỔNG QUAN VỀ BÀI THI
Tên bài
Bát giới dọn bàn thờ
Khiêu vũ
Đổi tiền vàng

File chương trình
BATGIOI.PAS
KHIEUVU.PAS
TIENVANG.PAS

File dữ liệu vào
BATGIOI.INP
KHIEUVU.INP
TIENVANG.INP

File dữ liệu ra
BATGIOI.OUT
KHIEUVU.OUT
TIENVANG.OUT

Điểm
30
40
30

Thời gian thực hiện mỗi bộ test của chương trình không quá 1 giây.
Câu 1. Bát Giới dọn bàn thờ


Tên file chương trình: BATGIOI.PAS

Trư Bát Giới sau khi phò tá Đường Tăng đi Tây Trúc
thỉnh kinh không trở thành Phật hoặc La Hán. Phật tổ Như
Lai phong cho Bát Giới chức “Tịnh đàn sứ giả”, công việc
chính là “Lau dọn bàn thờ”, nơi mà Lão Trư có thể ăn thỏa
thích những hoa quả được để lại trên bàn thờ Lão có nhiệm
vụ lau dọn.
Hôm nay Bát Giới có nhiệu vụ lau dọn N bàn thờ, bàn thờ thứ i để lại số hoa
quả có khối lượng là wi (1 ≤ i ≤ N, 1 ≤ wi ≤ 1.000). Bụng của Lão Trư chỉ có thể
chứa được khối lượng tối đa là C (1 ≤ C ≤ 1.000.000). Lão Trư có thể chọn bắt đầu
ăn ở bàn bất kì. Khi chọn ăn bàn nào thì ăn hết hoa quả ở bàn đó, nếu không thể
ăn hết thì không ăn. Khi đã ăn thì ăn một mạch các bàn liên tiếp nhau đến khi
không còn ăn được nữa.
Yêu cầ u: Vié t chương trình đé m số lượng nhiều nhất các bàn hoa quả Lão Trư có
thể ăn hết nếu chọn vị trí bàn bắt đầu ăn hợp lí.
Dữ liệ u vầ o: từ tẹ p van bả n BATGIOI.INP gò m hai dò ng:
 Dò ng đà u ghi hai só nguyen dương N và C;
 Dò ng thứ hai ghi là n lượt w1,w2,…,wN ;
 Các số trong tệp cá ch nhau ít nhá t mọ t dá u cá ch.
Kết quẩ : ghi ra tẹ p van bả n BATGIOI.OUT só lượng bàn hoa quả nhiều nhất Bát
Giới có thể ăn.
Ví dụ:
BATGIOI.INP BATGIOI.OUT
Giải thích
5 5
4
Chọn bắt đầu từ bàn số 2.
3 1 2 1 1
5 10

3
Chọn bắt đầu từ bàn số 1 .
3 2 5 4 3
Ràng buộc:
 Có 40 % test N < 1.000 tương ứ ng 40 % só điẻm;
 Có 40 % test 1.000 < N ≤ 10.000 tương ứ ng 40 % só điẻm;
 Có 20 % test 10.000 < N ≤ 100.000 tương ứ ng 20 % só điẻm.
Trang 1/3


Câu 2. Khiêu vũ

Tên file chương trình: KHIEUVU.PAS

Để chuẩn bị cho tiết mục văn nghệ chào mừng kĩ
niệm ngày thành lập Đoàn sắp đến, thầy phụ trách công
tác văn nghệ cần chọn ra một cặp học sinh tham gia
biểu diễn tiết mục khiêu vũ thể thao. Cặp được chọn
gồm một học sinh nam và một học sinh nữ. Để đảm bảo
tính thẩm mĩ thì bạn nam phải không thấp hơn bạn nữ
và cũng không cao hơn bạn nữ quá K milimét.
Sau một thời gian thông báo, đã có N học sinh đăng kí
tham gia. Danh sách này gồm có hai thông tin là chiều
cao và giới tính.
Yêu cầ u : Vié t chương trình tính số cách khác nhau có thể chọn ra một cặp học
sinh thỏa mãn yêu cầu. Hai cách chọn khác nhau nếu có ít nhất một bạn được
chọn khác nhau.
Dữ liệ u vầ o: từ tẹ p van bả n KHIEUVU.INP có cá u trú c như sau:
 Dò ng đà u ghi hai só nguyen N và K (0 ≤ K ≤ 500);
 Dò ng thứ hai ghi là n lượt h1,h2,…,hN là thông tin lần lượt của N học sinh đã

đăng kí; nếu hi > 0 thì học sinh thứ i là nam và có chiều cao hi,ngược lại học
sinh đó là nữ và có chiều cao là |hi| (1 ≤ i ≤ N, 1500 ≤ |hi| ≤ 2000).
 Cá c só trong tẹ p cá ch nhau ít nhá t mọ t dá u cá ch.
Kết quẩ : ghi ra tẹ p van bả n KHIEUVU.OUT só cách khác nhau có thể chọn được.
Ví dụ:
KHIEUVU.INP
KHIEUVU.OUT
Giải thích
4 2
2
Chọn cặp {2, 4} và {3,4}
1500 -1501 -1502 1503
3 20
0
-1501 -1502 1600
Ràng buộc:
 Có 40 % test N ≤ 1.000 tương ứ ng 40 % só điẻm;
 Có 30 % test N ≤ 100.000 và K = 0 tương ứ ng 30 % só điẻm;
 Có 30 % test N ≤ 100.000 và K > 0 tương ứ ng 30 % só điẻm.
Câu 3. Đổi tiền vàng

Tên file chương trình: TIENVANG.PAS

Vương quốc Byteland có một hệ thống tiền tệ rất đặc biệt.
Mỗi tờ tiền có một mệnh giá là một số nguyên dương N. Hệ
thống ngân hàng có thể cho bạn đổi tờ tiền mệnh giá N lấy N
đồng tiên vàng hoặc ba tờ tiền giấy có mệnh giá lần lượt N div 2,
N div 3 và N div 4. Số lần thực hiện đổi tiền giấy là không giới
hạn nhưng không được phép đổi đồng tiền vàng lấy tiền giấy.
Yêu cầ u: Vié t chương trình tính số đồng tiền vàng nhiều nhất có

thể đổi từ tờ tiền giấy có mệnh giá là N.
Trang 2/3


Dữ liệ u vầ o: từ tẹ p van bả n TIENVANG.INP gò m nhiều bộ test:
 Dò ng đà u ghi só nguyen dương T là số lượng bộ test (1 ≤ T ≤ 100);
 T dò ng tiếp theo, mỗi dòng ghi một số nguyên dương N tương ứng mệnh
giá của tờ tiền cần đổi.
Kết quả: ghi ra tẹ p van bả n TIENVANG.OUT gồm T dòng tương ứng với số tiền
vàng nhiều nhất có thể đổi được của mỗi bộ test.
Ví dụ:
TIENVANG.INP
TIENVANG.OUT
3
13
12
35
32
2
2
Ràng buộc:
 Có 20 % test N ≤ 100 tương ứ ng 20 % só điẻm;
 Có 40 % test 500 ≤ N ≤ 1.000.000 tương ứ ng 40 % só điẻm;
 Có 40 % test 1000.000 ≤ N ≤ 1.000.000.000 tương ứ ng 40 % só điẻm.
-- HẾT --

Trang 3/3




×