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ám đốc công ty có ý định chỉ chọn và giữ lại một số nhân viên s
Trang 1-
Đ ề thi HSG môn Tin học lớp 11 năm 2013 - Trang 1/2
SỞ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI VĂN HÓA LỚP 11 THPT QUẢNG TRỊ 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 a 1 ,a 2 ,…,a N 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 b 1 ,b 2 ,…,b N thỏa mãn điều kiện sau:
- a i ≤ b i (1≤ i ≤N)
- b i 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 a 1 ,a 2 ,…,a N (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); 1<N<105
Ví dụ:
PRIMESEQ.INP PRIMESEQ.OUT
5
1 2 5 6 3
2
3
4 8 20
7
Bài 2 (5 điểm) Từ tương đương 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à
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ụ:
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 )
ĐỀ CHÍNH THỨC
Trang 2-
Đ ề thi HSG mụn Tin học lớp 11 năm 2013 - Trang 2/2
Dữ liệu vào: Cho trong file PEARL.INP gồm 2 dũng:
- Dũng đầu là số nguyờn dương N (với 1≤ N≤10000)
- Dũng thứ hai là một chuỗi độ dài N biểu diễn chuổi hạt ngọc với quy ước: ký tự r: biểu diễn hạt màu Đỏ; b: biểu diễn hạt màu Xanh; w: biểu diễn hạt màu Trắng
Dữ liệu ra: Cho bởi file PEARL.OUT, gồm:
- Dũng đầu là 2 số nguyờn dương i, j (với 1≤i,j ≤ N) là vị trớ sẽ đặt điểm cắt giữa i và j
- Dũng thứ 2 chứa số lượng hạt được chọn
Ví dụ:
17
bbwbrrrwbrbrrrrrb 16 17 10
29
brbrrrbbbrrrrrbrrbbrbbbbrrrrb 9 10 8
Bài 4 (3 điểm) Làm việc tập thể Tờn chương 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ú những cỏ tớnh riờng và họ không có tiếng nói chung khi phải quyết định xử lý một 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 một 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 (1≤N≤10000)
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 (0≤ai≤bi≤109)
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
7
100 150
0 1000
900 1000
1800 2000
900 1800
272 314
1900 2000
1900
Ghi chú: Các nhân viên đ-ợc giữ lại là 2, 4 và 5
-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
Ví dụ:
Ví dụ:
Trang 31/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 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:
Chữ ký của giám thị 1:
Số báodanh:
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:
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ụ:
5 7 154
1 2 3 4 5
24
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ụ:
aaabbb engineering interconnection interconnection 4 n
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
ĐỀ CHÍNH THỨC
Trang 42/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:
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
Cho dãy số gồm N số nguyên dương a1,a2 a N Dãy số con của dãy ban đầu thu đượ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
Một dãy số a1 ,a2 a N được gọi là dãy số chia hết hoàn toàn nếu a i là ước của a j với 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
Yêu cầu: Cho trước dãy số a1 ,a2 a N , hãy xác định dãy số chia hết hoàn toàn dài nhất là dãy 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
- Các dòng tiếp theo ghi lần lượt các số a1,a2 a N (1 a i 1 0 )9
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
2
3
7
8
14
39
145
76
320
2
11
16
12
36
60
71
17
29
144
288
129
432
993
5
-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.
Trang 51/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
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ụ:
Ta#oi thi hoc sinu#h gioi tin hoj#c Toi thi hoc sinh gioi tin hoc
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:
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
ĐỀ CHÍNH THỨC
Trang 62/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ụ:
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à a i (1 ≤ a i ≤ 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 a 1 ,a 2 ,…,a n 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ụ:
6
4
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.
6 6
0 1 0 1 1 0
1 0 3 1 1 1
0 2 0 2 1 0
0 0 1 0 1 0
0 1 0 1 0 2
1 0 1 0 2 0
x x x x x x x
Trang 7Trang 1/2
SỞ GIÁO DỤC VÀ ĐÀO TẠO QUẢNG TRỊ
TRƯỜNG THPT CHUYÊN LÊ QUÝ ĐÔN
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 Tên bài File chương trình File dữ liệu File kết quả Điểm
1 Tổng chẵn hay lẻ ABKSUM.PAS ABKSUM.INP ABKSUM.OUT 5
2 Chênh lệch lớn nhất MAXDIF.PAS MAXDIF.INP MAXDIF.OUT 6
3 Số tổng khác nhau SUBSUM.PAS SUBSUM.INP SUBSUM.OUT 5
4 Khoảng cách lớn nhất TWOPDIST.PAS TWOPDIST.INP 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ụ:
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
ĐỀ CHÍNH THỨC
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
Trang 8Trang 2/2
Ví dụ:
MAXDIF.INP MAXDIF.OUT
5
6 7 3 5 10
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ụ:
6 3 7
8 2 3 10 5 5
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
Trang 9Trang 1/3
ĐỀ 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)
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
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à w i (1 ≤ i ≤ N, 1 ≤ w i ≤ 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: Vie ́t chương trình đe ́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ừ te ̣p va n bản BATGIOI.INP go ̀m hai dòng:
Dòng đàu ghi hai so ́ nguye n dương N và C;
Dòng thứ hai ghi làn lượt w 1 ,w 2 ,…,w N ;
Các số trong tệp cách nhau ít nhát mo ̣t dáu cách
Kê ́t quẩ: ghi ra te ̣p va n bản BATGIOI.OUT so ́ lượng bàn hoa quả nhiều nhất Bát
Giới có thể ăn
Ví dụ:
5 5
3 1 2 1 1
5 10
3 2 5 4 3
Ràng buộc:
Có 40 % test N < 1.000 tương ứng 40 % so ́ đie ̉m;
Có 40 % test 1.000 < N ≤ 10.000 tương ứng 40 % so ́ đie ̉m;
Có 20 % test 10.000 < N ≤ 100.000 tương ứng 20 % so ́ đie ̉m.
ĐỀ CHÍNH THỨC
Trang 10Trang 2/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 : Vie ́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ừ te ̣p va n bản KHIEUVU.INP có ca ́u trúc như sau:
Dòng đàu ghi hai so ́ nguye n N và K (0 ≤ K ≤ 500);
Dòng thứ hai ghi làn lượt h 1 ,h 2 ,…,h N là thông tin lần lượt của N học sinh đã đăng kí; nếu h i > 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à |h i | (1 ≤ i ≤ N, 1500 ≤ |h i | ≤ 2000)
Các só trong te ̣p cách nhau ít nhát mo ̣t dáu cách
Kê ́t quẩ: ghi ra te ̣p va n bản KHIEUVU.OUT so ́ cách khác nhau có thể chọn được Ví dụ:
4 2
1500 -1501 -1502 1503
3 20
-1501 -1502 1600
0
Ràng buộc:
Có 40 % test N ≤ 1.000 tương ứng 40 % so ́ đie ̉m;
Có 30 % test N ≤ 100.000 và K = 0 tương ứng 30 % so ́ đie ̉m;
Có 30 % test N ≤ 100.000 và K > 0 tương ứng 30 % so ́ đie ̉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: Vie ́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