You are on page 1of 4

1. cpara.

cpp
Cho (N<=2000) điểm trên mặt phẳng, đếm số hình bình hành tạo bởi N điểm .
Dữ liệu:
- số N
- N điểm nguyên có giá trị tuyệt đối của tọa độ không quá 100.
Kết quả: số hình bình hành.
Ví dụ:

INPUT OUTPUT

4 1
0 1
1 0
1 1
2 0

2. cline.cpp
Cho n đường thẳng trên mặt phẳng, mỗi đường thẳng cho dưới dạng phương trình Ax + By + C
= 0, trong đó các hệ số A, B, C đều là các số nguyên (|A|, |B|, |C| ≤ 105, A2+B2 ≠ 0).
Yêu cầu: Hãy xác định số lượng tối đa các đường thẳng, sao cho giữa chúng không có cặp
đường thẳng nào song song (hai đường thẳng trùng nhau được coi là song song).
Dữ liệu:
- Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 105).
- Mỗi dòng trong n dòng tiếp theo chứa 3 số nguyên A, B, C xác định một đường thẳng.
Kết quả: ghi số đường tối đa tìm được.
Ví dụ:

INPUT OUTPUT

3 2
1 1 4
2 2 2
3 1 0

3. cubics.cpp
Quà sinh nhật của An là một bộ khối lập phương xếp hình. An xếp thành n tháp, tháp thứ i có độ
cao là ai (1 ≤ ai ≤ 109, 1 ≤ n ≤ 105, i =1 ÷ n).
An rất có cảm tình với số nguyên k, vì vậy dãy liên tục các tháp được coi là hài hòa nếu chúng
có độ cao trung bình là k (1 ≤ k ≤ 109).
Yêu cầu: Cho n, k và ai(i =1 ÷ n). Hãy xác định dãy tháp hài hòa dài nhất, chỉ ra tháp đầu tiên
và độ dài của dãy tìm được. Nếu tồn tại nhiều dãy cùng độ dài thì chỉ ra dãy tháp có vị trí đầu
nhỏ nhất. Nếu không tồn tại dãy tháp thì đưa ra một số 0.
Dữ liệu:
- Dòng đầu tiên chứa 2 số nguyên n và k,
- Dòng thứ 2 chứa n số nguyên a1, a2, . . ., an.
Kết quả: ghi ra trên một dòng gồm: độ dài của dãy tìm được và số thứ tự của tháp đầu tiên hoặc
một số 0 nếu không tồn tại dãy.
Ví dụ:

INPUT OUTPUT
5 3 3 2
1 2 3 4 6

Ràng buộc:
• Có 50% số test ứng với 50% số điểm của bài có n ≤ 100 và k ≤ 5.
• Có 50% số test khác ứng với 50% số điểm còn lại của bài có n ≤ 105

4. findbase.cpp
Một số nguyên dương 𝑥 được gọi là lũy thừa của số nguyên dương 𝑎 nếu tồn tại số nguyên
dương 𝑏 để 𝑥 = 𝑎b .
Yêu cầu: Cho số nguyên dương 𝑥, tìm số nguyên dương 𝑎 nhỏ nhất sao cho 𝑥 là lũy thừa của
𝑎.
Dữ liệu vào:

- Dòng đầu chứa số nguyên T là số test (𝑇 ≤ 104 )


- T dòng tiếp theo, mỗi dòng chứa một số nguyên dương 𝑥 ≤ 1018 ) tương ứng với một test.
Dữ liệu ra: ứng với mỗi test, ghi gia trị 𝑎 tìm được trên một dòng.

Ví dụ:

INPUT OUTPUT

10 1
1 2
16 3
729 5
625 10
100 5
244140625 3
450283905890997363 2
576460752303423488 123456789
15241578750190521 999999999999999999
999999999999999999
5. candy.cpp
An là anh cả trong gia đình với K đứa em nhỏ. Là một người rất có trách nhiệm, luôn thương
yêu các em của mình nên An luôn cố gắng làm những gì tốt nhất cho các em. Một hôm, đi công
tác xa về, biết các em mình đều rất thích ăn kẹo, An ghé qua cửa hàng bánh kẹo Hải Hà lớn
nhất thủ đô, chọn mua một gói kẹo ngon nhất trong phạm vi túi tiền mình có. Gói kẹo An mua
có N cái kẹo và An dự định sẽ chia hết cho K đứa. Tuy nhiên, An phải chia làm sao cho đứa
lớn hơn luôn ít kẹo hơn đứa bé hơn và đứa nào cũng phải có kẹo. Bạn hãy giúp An tính xem có
bao nhiêu cách có thể để An chia hết kẹo cho K em của mình.

Dữ liệu vào: ghi 2 số nguyên dương N và K là số lượng kẹo trong gói và số em của An.

Dữ liệu ra: ghi một số nguyên duy nhất là số lượng cách có thể để An chia N cái kẹo cho K
em.

Ví dụ:

INPUT OUTPUT Giải thích

5 2 2 5 = 1 + 4 = 2 + 3

Ràng buộc:

- 60% test có N ≤ 100 và K ≤ 3


- 40% test còn lại có N≤1000 và K ≤ 4.
6. mk.cpp
Gần đây, trên các mạng xã hội thường xuyên có sự vi phạm thông tin người dùng. Trong số
đó là các thông tin mật khẩu của người dùng . Minh là một học sinh lớp chuyên tin rất thích
khám phá an ninh mạng đã phát hiện ra điều rất thú vị. Trong khi thử nghiệm trên các mạng
xã hội, Minh đã tìm thấy một sự vi phạm an ninh khác! Đó là khi bạn nhập bất kỳ chuỗi kí tự
nào chứa một chuỗi con bằng mật khẩu thực, đăng nhập sẽ thành công. Ví dụ, nếu người dùng
có mật khẩu là abc đầu vào nhập một trong các chuỗi abc, abcd hoặc imaabcnema, hệ thống
sẽ đăng nhập thành công, trong khi đăng nhập sẽ không cho với chuỗi axbc.
Minh muốn biết có bao nhiêu cặp lệnh của người dùng khác nhau tồn tại sao cho người dùng
đầu tiên sử dụng mật khẩu có thể đăng nhập như người dùng thứ hai.
Dữ liệu vào:
- Dòng đầu tiên chứa số nguyên dương N (1 ≤ N ≤ 20 000), số người dùng.
- Mỗi dòng trong N dòng sau đây chứa mật khẩu người dùng. Mật khẩu bao gồm ít
nhất một và nhiều nhất 10 chữ cái viết thường của bảng chữ cái tiếng Anh.
Dữ liệu ra: Dòng đầu tiên và duy nhất chứa số lượng các cặp tìm được.

Ví dụ:

INPUT OUTPUT

3 2
x
y
xy

Ràng buộc: Có 40% số test ứng với 40% số điểm của bài có 1 ≤ 𝑁 ≤ 2000
7. three.cpp
Ngày xửa ngày xưa, ở một vương quốc nọ có một nàng công chúa vô cùng xinh đẹp và tốt
bụng. Năm nàng 20 tuổi, nhà vua muốn kén cho nàng một phò mã thực sự thông minh.

Vào một ngày đẹp trời, có 𝑛 chàng trai khôi ngô tuấn tú tới ứng thí. Bởi nhà vua rất yêu thích
các con số nên đã yêu cầu các chàng trai đứng xếp thành hàng và phát cho mỗi người cầm một
số nguyên. Để tìm ra 3 người thi tài, nhà vua đưa ra một số nguyên 𝑘 và muốn tìm người đang
cầm các số nguyên có giá trị lần lượt là 𝑎𝑖 = 𝑏 ∗ 𝑘 0 ; 𝑎𝑗 = 𝑏 ∗ 𝑘1 ; 𝑎𝑘 = 𝑏 ∗ 𝑘 2 mà 1 ≤ 𝑖 <
𝑗 < 𝑘 ≤ 𝑛 (ba chàng trai không nhất thiết phải đứng liền nhau).

Yêu cầu:Có bao nhiêu cách để nhà vua chọn ra được 3 người thỏa mãn yêu cầu.

Dữ liệu vào:

- Dòng đầu chứa 2 số nguyên n và k (1 ≤ 𝑛, 𝑘 ≤ 2 × 105 );


- Dòng thứ 2 chứa n số nguyên 𝑎1 , 𝑎2 , … , 𝑎𝑛 (−109 ≤ 𝑎𝑖 ≤ 109 ).
Dữ liệu ra: In ra một số nguyên là số cách chọn thỏa mãn.

Ví dụ:

INPUT OUTPUT
5 2 4
1 1 2 2 4

Ràng buộc:

- Sub1: 60% số test có 𝑛 ≤200


- Sub2: 40% số test còn lạicó 200< 𝑛 ≤105
Giải thích:

Trong cách đầu tiên có 4 cách chọn dãy con 1 = 1 × 20 , 2 = 1 × 21 , 4 = 1 × 22 là các dãy có
chỉ số (1,3,5); (1,4,5); (2,3,5); (2,4,5).

8.harmony.cpp
Cho dãy số nguyên A = (a1, a2, . . ., an). Số ai được gọi là hòa hợp với dãy nếu nó là tổng của 3
số nào đó đứng trước nó trong dãy. Mỗi số có thể tham gia vào tổng nhiều lần.

Ví dụ, với A = (1, 2, 3, 5, 7, 10), các số 3, 5, 7, 10 là hòa hợp với dãy (3 = 1+1+1, 5 = 1+2+2, 7
= 1+3+3, 10 = 2+3+5).

Hãy xác định số lượng số hòa hợp trong dãy.

Dữ liệu:
- Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 5 000),
- Dòng thứ 2 chứa n số nguyên a1, a2, . . ., an (|ai| ≤ 105, i = 1 ÷ n).

Kết quả: ghi ra một số nguyên – số lượng số hòa hợp trong dãy.

Ví dụ:

INPUT OUTPUT

6 4
1 2 3 5 7 10

You might also like