NBOJ-Contest-1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

YBOJ CONTEST 1 DÀNH CHO HỌC SINH LỚP 9

NĂM HỌC 2023 - 2024


Môn thi: TIN HỌC
ĐỀ THI CHÍNH THỨC Thời gian làm bài: 150 phút
(Biên soạn: Bùi Lương Nguyên)

1. Yêu cầu: Lập trình trên máy vi tính (ngôn ngữ lập trình Pascal, C++ hoặc Python) giải các bài
toán.
TỔNG QUAN ĐỀ THI:
Tên bài File chương trình File dữ liệu vào File dữ liệu ra
Bài 1 TRÒ CHƠI SỐ HỌC GAME.* GAME.INP GAME.OUT
Bài 2 THIỆN VÀ SỐ THPRIME.* THPRIME.INP THPRIME.OUT
NGUYÊN TỐ
Bài 3 ĐỔ NƯỚC WATER.* WATER.INP WATER.OUT
Bài 4 BIẾN ĐỔI STASK.* STRINGTASK.INP STRINGTASK.OUT
Bài 5 TRÙM CUỐI PER.* LSYMPERM.INP LSYMPERM.OUT
Trong đó: Dấu * là đại diện cho phần mở rộng, được thay bằng PAS hoặc CPP hoặc PY tùy
theo ngôn ngữ lập trình được sử dụng là Pascal hoặc C++ hoặc Python.
Hãy lập trình giải các bài toán sau:
Bài 1. (6,0 điểm) TRÒ CHƠI SỐ HỌC
Bảo và Minh là hai người bạn thân, một ngày nọ, họ rủ nhau chơi một trò chơi số học.
Trong trò chơi này họ lần lượt viết các nguyên dương m và n lên bảng. Một số được gọi là
ngầu hơn nếu tổng các ước của nó lớn hơn. Hãy giúp Bảo và Minh tính tổng các ước và xác
định ai là người chiến thắng trong trò chơi này, nếu tổng ước của 2 người bằng nhau thì kết quả
hoà.
Dữ liệu: Vào từ tệp văn bản TROCHOI.INP ghi số nguyên m, n (m, n ≤ 1012).
Kết quả: Ghi ra tệp văn bản TROCHOI.OUT số ngầu hơn, nếu hoà thì in ra “HOA”
Ví dụ:

GAME.INP GAME.OUT Giải thích


123 321 321

GAME.INP GAME.OUT Giải thích


1000000 1000000 HOA

Ràng buộc:
(1) Có 90% số test tương ứng với 90% số điểm thỏa mãn: m, n ≤ 109
(2) Có 10% số test khác tương ứng với 10% số điểm thỏa mãn: m, n ≤ 1012

1
Bài 2. (6,0 điểm) THIỆN VÀ SỐ NGUYÊN TỐ
Thiện, một cậu học sinh tò mò và hứng thú với vẻ đẹp của của số học, bắt đầu hành trình
khám phá các số nguyên tố. Thiện ngồi ngay vào bàn, lấy tờ giấy trắng để ra trước mặt, cậu
viết 2 số nguyên dương a và b và tự hỏi: “Có bao nhiêu số nguyên tố năm giữa a và b?”. Hãy
giúp Thiện giải bài toán này.
Dữ liệu: Vào từ tệp văn bản THPRIME.INP gồm:
 Dòng 1: Cho q truy vấn (q ≤ 10); 
 Dòng 2: Cho 2 số nguyên dương a và b (a, b ≤ 109 ).
Kết quả: Ghi ra tệp văn bản THPRIME.OUT số lượng các số nguyên tố trong đoạn a, b
Ví dụ:

THPRIME.INP THPRIME.OUT Giải thích


3 10
1 10 533
257 789 223
456 678

Ràng buộc:
(1) Có 50% số test tương ứng với 80% số điểm thỏa mãn: a,b ≤ 103.
(2) Có 30% số test khác tương ứng với 20% số điểm thỏa mãn: a,b ≤ 105.
(3) Có 20% số test khác tương ứng với 20% số điểm thỏa mãn: a,b ≤ 107.

Bài 3. (4,0 điểm) ĐỔ NƯỚC


Có 𝑛 các thùng nước xếp thành hàng, đánh số từ trái sang phải từ 1 đến 𝑛. Mỗi thùng chứa có thể
chứa bất kỳ lượng nước nào; ban đầu, thùng thứ i chứa 𝑎𝑖 đơn vị nước. Tổng của 𝑎𝑖 chia hết cho 𝑛.
Bạn có thể áp dụng thao tác sau với số lần bất kỳ (có thể bằng 0): đổ lượng nước bất kỳ từ thùng thứ i tới
thùng thứ j, với 𝑖 phải nhỏ hơn 𝑗(i < j).
Xác định xem có thể làm cho lượng nước trong tất cả các thùng chứa bằng nhau bằng cách sử dụng thao
tác này hay không.

Dữ liệu: Vào từ tệp văn bản WATER.INP gồm:


Dòng 1: Ghi số nguyên dương n (n ≤ 2.105 ).
Dòng 2: Ghi n số nguyên dương a1, a2,…, an (ai ≤ 109, 1 ≤ i ≤ n).
Kết quả: Ghi ra tệp văn bản WATER.OUT câu trả lời “YES” nếu có thể làm lượng nước trong thùng chứa
giống nhau bằng cách sử dụng thao tác trên, Nếu không thì in ra “NO”.
Ví dụ:

WATER.INP WATER.OUT Giải thích


5 YES Tiến hành đổ nước như sau:
45213 36213–33513–333333
7 NO 44506644–44416644
4550644 Vậy các can nước không bằng nhau
*không có rằng buộc cho bài toán.
Bài 4. (3,0 điểm) BIẾN ĐỔI

2
Cho một xâu kí tự, thực hiện các biến đổi sau:
Xoá hết tất cả nguyên âm
Chèn một ký tự "." trước mỗi phụ âm,
Thay thế tất cả các phụ âm viết hoa bằng các phụ âm viết thường tương ứng.
Nguyên âm là các chữ cái “A”, “O”, “Y”, “E”, “U”, “I” và các chữ còn lại là phụ âm. Đầu vào của
chương trình chính xác là một chuỗi, nó sẽ trả về đầu ra dưới dạng một chuỗi, kết quả sau khi chương trình
xử lý chuỗi ban đầu.
Dữ liệu: Vào từ tệp văn bản STASK.INP gồm: xâu kí tự s không qua 100 kí tự
Kết quả: In ra xâu s sau khi đã thực hiện các bước trên.

STASK.INP STASK.OUT Giải thích


tour .t.r Bỏ nguyên âm o và u, thêm dấu chấm
vào trước phụ âm t và r
pumesz .p.m.s.z Tương tự

Bài 5. (1,0 điểm) KHO BÁU


Sau hành trình gian nan vất vả , Nguyên cuối cùng đã đến nơi bí mật cất giữ kho báu. Tuy nhiên
để mở chiếc hộp kín này Nguyên phải giải mã mật khẩu. Điều đặc biệt là mật khẩu không phải là
một dãy số bình thường, mà chính là tổng của tất cả các hoán vị của một số nguyên dương n. Khám
phá bí mật này đòi hỏi sự khéo léo và kiên trì của Nguyên. Bạn có thể giúp Nguyên xác định mật
khẩu bằng cách tính tổng của các hoán vị của một số nguyên dương n như đã mô tả trong câu
chuyện..
Yêu cầu: Cho số nguyên dương n. tính tổng các hoán vị của n
Dữ liệu: Vào từ tệp văn bản TREASURE.INP ghi số nguyên dương n (n ≤ 1010)
Kết quả: Ghi ra tệp văn bản TREASURE.OUT mật mã cần tìm là tổng các hoán vị của số n ban đầu.
Ví dụ:

TREASURE.INP TREASURE.OUT
1234 66660

Ràng buộc:
(1) Có 30% số test tương ứng với 30% số điểm thỏa mãn: 𝑛 < 102.
(2) Có 60% số test khác tương ứng với 60% số điểm thỏa mãn: 𝑛 ≤ 109.
(3) Có 10% số test khác tương ứng với 10% số điểm thỏa mãn: 𝑛 ≤ 1010.

Hết

You might also like