You are on page 1of 4

ĐỀ SỐ 01 - 2021

Thời gian làm bài : 150 phút


Tổng quan bài thi: (dấu * là pas hoặc cpp tùy vào ngôn ngữ sử dụng)
Bài File chương trình File dữ liệu File kết quả Điểm

1 RECTANGLE.* RECTANGLE.INP RECTANGLE.OUT 6

2 NUCLEAR .* NUCLEAR .INP NUCLEAR .OUT 5


3 MODULE.* MODULE.INP MODULE.OUT 4

4 KASTR.* KASTR.INP KASTR.OUT 3

5 GCDSUBAR.* GCDSUBAR.INP GCDSUBAR.OUT 2


Bài 1: RECTANGLE
Hiền có một cây gậy độ dài N (N nguyên dương). Bạn ấy muốn cắt 3 lần để
chia cây gậy thành 4 phần sao cho 4 phần đó có thể ghép được thành một hình chữ
nhật nhưng không phải là hình vuông (độ dài mỗi cạnh của hình chữ nhật đó phải
là số nguyên).
Yêu cầu: Đếm xem có bao nhiêu cách cắt thỏa mãn yêu cầu trên.
Lưu ý: 2 cách được gọi là khác nhau nếu tồn tại số nguyên X mà số phần có độ dài
X ở cách cắt này khác với số phần độ dài X ở cách cắt kia.
Dữ liệu: vào từ tệp văn bản RECTANGLE.INP gồm một số duy nhất là số nguyên
dương N (N ≤ 109).
Kết quả: ghi ra tệp văn bản RECTANGLE.OUT một số nguyên duy nhất là kết
quả của bài toán.
Ví dụ:
RECTANGLE.INP RECTANGLE.OUT
6 1
20 4
Giới hạn:
3
 Có 80% số test tương ứng 80% số điểm có N ≤ 10 .
9
 20% số test tương ứng 20% số điểm có N ≤ 10  .
Bài 2: NUCLEAR 
Trong một cỗ máy hạt nhân, các phân tử chuyển động trên một đường thẳng.
Bắt đầu từ thời điểm bằng 0, chúng luôn di chuyển về một phía (trái hoặc phải).
Mỗi giây, mỗi phân tử di chuyển được khoảng cách là một đơn vị.
Yêu cầu: Cho vị trí ban đầu và hướng đi của n phân tử. Hãy xác định thời gian
sớm nhất để có 2 phân tử bất kỳ chạm nhau.
*Lưu ý: coi không gian các phân tử di chuyển là vô hạn.
Dữ liệu: vào từ tệp văn bản NUCLEAR.INP có cấu trúc:
 Dòng đầu chứa số nguyên n là số lượng phân tử trong cỗ máy hạt nhân.
 Dòng thứ 2 chứa xâu S độ dài n. (kí tự thứ i là hướng di chuyển của phân tử
thứ i, với S[i] = ‘L’ nghĩa là phân tử thứ i luôn di chuyển sang trái, S[i] = ‘R’
là luôn di chuyển sang phải)
 Dòng thứ 3 chứa dãy gồm n số nguyên a[1], a[2],...a[n] với a[i] là vị trí ban
đầu của phân tử thứ i.
Kết quả: ghi ra tệp văn bản NUCLEAR.OUT một số nguyên bé nhất lớn hơn hoặc
bằng thời gian ngắn nhất hai phân tử bất kỳ có thể gặp được nhau. Trong trường
hợp các phân tử không bao giờ chạm nhau thì in ra -1.
Ví dụ:
NUCLEAR.INP NUCLEAR.OUT
4 1 Sau 1 giây, vị trí các phân tử là:
RLRL 3379
2 4 6 10 Vậy sau 1 giây phân tử thứ nhất
đã chạm phân tử thứ hai

4 2 Sau 1.5 giây, vị trí các phân tử là:


RLRL 3.5 3.5 7.5 8.5
2 5 6 10 Vậy sau 1.5 giây phân tử thứ nhất
đã chạm phân tử thứ hai, do đó
kết quả là 2.
Giới hạn:
 70% số test tương ứng với 70% số điểm có: n ≤ 100, a[i] ≤ 100
5 9
 30% số test tương ứng với 30% số điểm có: n ≤ 2*10 , a[i] ≤ 10
Bài 3: MODULE
Cho Q truy vấn, mỗi truy vấn là 2 số nguyên dương L, R. Với từng truy vấn, bạn
hãy tìm giá trị lớn nhất của b mod a (là phép chia lấy phần dư của b cho a)
với a, b là hai số nguyên dương bất kì mà L ≤ a ≤ b ≤ R.
Dữ liệu: vào từ tệp văn bản MODULE.INP có cấu trúc:
4
 Dòng đầu chứa số nguyên Q là số lượng truy vấn (Q ≤ 10 ).
9
 Q dòng tiếp theo, mỗi dòng chứa 2 số nguyên L, R (1 ≤ L ≤ R ≤ 10 )
Kết quả: ghi ra tệp văn bản MODULE.OUT như sau: Ứng với mỗi truy vấn, ghi ra
kết quả của truy vấn đó. Mỗi truy vấn được ghi trên một dòng.
Ví dụ:
MODULE.INP MODULE.OUT Giải thích
4 0 Truy vấn 1: a=1, b=1
11 1 Truy vấn 2: a=999999999,
999999999 1000000000 12 b=1000000000
8 26 499999999 Truy vấn 3: a=13, b = 25
1 999999999 Truy vấn 4: a=500000000,
b=999999999
Giới hạn:
3
 60% số test tương ứng với 60% số điểm có: Q ≤ 50, 1 ≤ L ≤ R ≤ 10
4 9
 40% số test tương ứng với 40% số điểm có: Q ≤ 10 , 1 ≤ L ≤ R ≤ 10
Bài 4: KASTR
Một xâu S có độ dài N, thứ tự các kí tự được đánh số từ 1 đến N, xâu S chỉ gồm
hai ký tự là ‘a’ và ‘b’. Một xâu con liên tiếp bắt đầu từ L đến R (1 ≤ L ≤ R ≤ N)
của S được gọi là xâu con hoàn hảo khi và chỉ khi trong đoạn từ S[L] đến S[R] có
chính xác K kí tự ‘a’. Ví dụ, xâu S là “bababab” và K = 3, khi đó S có 4 xâu con
hoàn hảo là “bababa”, “ababa”, “bababab”, “ababab” tương ứng các giá trị  (L, R)
là (1, 6), (2, 6), (1, 7), (2, 7).
Yêu cầu: Cho xâu S gồm N kí tự và số nguyên K. Đếm xem S có bao nhiêu xâu
con hoàn hảo.
Dữ liệu: Vào từ tệp văn bản KASTR.INP có cấu trúc:
5
  Dòng đầu chứa hai số nguyên N và K (1 ≤ N ≤ 10 , 1 ≤ K ≤ N).
 Dòng thứ hai chứa xâu S (chỉ gồm hai ký tự ‘a’ và ‘b’).
Kết quả: Ghi ra tệp văn bản KASTR.OUT một số nguyên duy nhất là số lượng
xâu con hoàn hảo của S.
Ví dụ:
KASTR.INP KASTR.OUT

73 4
bababab
31 3
aaa

 Giới hạn:
 Có 30% số test tương ứng 30% số điểm có N ≤ 100.
 Có 30% số test khác tương ứng 30% số điểm có N ≤ 1000.
5
 40% số test còn lại tương ứng 40% số điểm có N ≤ 10 .
Bài 5: GCDSUBAR
Một dãy số nguyên dương a1, a2, …, an được gọi là dãy đẹp khi và chỉ khi gcd(a 1,
a2, …, an) = 1.
Trong đó gcd(a1, a2, …, an) là ước chung lớn nhất của các số a1, a2, …, an.
Chú ý: gcd(x) = x.
Cho dãy số gồm n số nguyên dương a1, a2, …, an. Yêu cầu hãy chia dãy trên thành
nhiều đoạn con liên tiếp nhất sao cho mỗi đoạn con đều là một dãy đẹp.
Dữ liệu: Vào từ tệp văn bản GCDSUBAR.INP có cấu trúc:
3
  Dòng đầu chứa một số nguyên n (1 ≤ n ≤ 10 ).

  Dòng thứ hai chứa n số nguyên a1, a2, …, an (1 ≤ ai ≤ 10  với i = 1..n).
Kết quả: Ghi ra tệp văn bản GCDSUBAR.OUT một số nguyên duy nhất là số
đoạn con lớn nhất thu được hoặc ghi ra -1 nếu không có phương án nào.
Ví dụ:
GCDSUBAR.INP GCDSUBAR.OUT
4 -1
2468

6 3
136125

Đề ôn tập mức độ thi hsg cấp tỉnh - Nhóm ra đề thầy Nam - trinhhongnam@gmail.com

You might also like