You are on page 1of 8

TỔNG QUAN ĐỀ THỰC HÀNH

Tên bài File chương trình File dữ liệu vào File kết quả Điểm
Bài 1 Số hoàn hảo PerfectNum.cpp PerfectNum.inp PerfectNum.out 1.5
Bài 2 Nhặt sỏi Pebbles.cpp Pebbles.inp Pebbles.out 1.5
Bài 3 Thạch Thanh Fight.cpp Fight.inp Fight.out 1.5
Bài 4 Những con gấu Bears.inp Bears.inp Bears.out 1.5
Bài 5 Dãy tăng DAYTANG.CPP DAYTANG.INP DAYTANG.OUT 1
Bài 6 Dãy tăng K DAYTANGK.CPP DAYTANGK.INP DAYTANGK.OUT 1
Bài 7 Thư viện LIBRARY.cpp LIBRARY.inp LIBRARY.out 1
Bài 8 Đường đị GRAPH.cpp GRAPH.inp GRAPH.out 1

PHẦN BÀI TẬP CƠ BẢN

Bài 1. Số hoàn hảo

Bài 2. Nhặt sỏi


Bài 3. Thạnh Sanh
Bài 4. Những con gấu
PHẦN BÀI TẬP NÂNG CAO

Bài 5. Dãy tăng

Cho dãy số nguyên N và dãy a1, a2,a3,.., an (0<=N<=5000).


Yêu cầu: Cho N và dãy a1, a2,a3,.., an đếm số dãy con tăng dài nhất.
Dữ liệu: Vào là một file văn bản daytang.INP gồm:
▪ Dòng thứ nhất ghi giá trị N.
▪ Dòng thứ 2 ghi dãy a1, a2,a3,.., an mỗi số cách nhau một khoảng trắng.
Kết quả: Ghi ra file văn bản daytang.INP gồm một số nguyên dương kết quả bài
toán.
DAYTANG.INP DAYTANG.OUT Giải thích
5 2 Độ dài của dãy con
1 3, 5 4 7 tăng dài nhất là 4, và

có 2 dãy con tăng dài

nhất có độ dài 4, tức

là {1, 3, 4 , 7} và {1, 3,

5, 7}.
5 5 Độ dài của dãy con

22222 tăng dài nhất là 1, tức

là {2}. Do đó, số dãy

con tăng dài nhất có

độ dài 1 là 5.

Bài 6. Dãy tăng K

Cho dãy số nguyên N và dãy a1, a2,a3,.., an (0<=N<=5000).


Yêu cầu: Cho N và dãy a1, a2,a3,.., an đếm số lượng dãy con tăng dần có kích thước
K.
Dữ liệu: Vào là một file văn bản daytang.INP gồm:
▪ Dòng thứ nhất ghi giá trị N và K.
▪ Dòng thứ 2 ghi dãy a1, a2,a3,.., an mỗi số cách nhau một khoảng trắng.
Kết quả: Ghi ra file văn bản daytang.INP gồm một số nguyên dương kết quả bài
toán.
DAYTANGK.INP DAYTANGK.OUT Giải thích
53 5 Các chuỗi con của
kích thước 3 là:
2 6 4 5 7
{2, 6, 7}, {2, 4,
5}, {2, 4, 7},
{2, 5, 7} và {4, 5,
7}.

11 4 39
12 8 11 13 10 15 14
16 20

Bài 7. Thư viện


Bài 8. Đường đi
Đất nước QNA có 𝑛 thành phố được đánh số từ 1 đến 𝑛. Một ngày nọ, để cải tổ
mạng lưới giao thông, chính phủ của đất nước này quyết định hủy tất cả các con
đường hiện có và tiến hành xây dựng 𝑚 cụm con đường mới. Ở mỗi cụm con
đường, chính phủ sẽ chọn ra 𝑘 thành phố bất kỳ và tiến hành xây các tuyến đường
hai chiều nối từng cặp thành phố trong số chúng.
Hà sắp sửa du lịch tự túc đến thành phố 𝑛 của đất nước QNA. Cô ấy bắt buộc
phải nhập cảnh QNA từ thành phố 1. Hà nhờ bạn thân là Đông tính toán giúp số
thành phố ít nhất mà cô ấy cần đi qua để từ thành phố 1 đến được thành phố 𝑛 (tính
luôn cả thành phố 1 và thành phố 𝑛). Vì mạng lưới giao thông của QNA quá chằng
chịt nên Đông đã phải nhờ đến sự trợ giúp của đội tuyển Tin học. Các bạn hãy lập
trình để tìm đáp số giúp Đông nhé!
Yêu cầu: Xác định số thành phố ít nhất mà Hà phải đi qua để từ thành phố 1
đến được thành phố 𝑛 (bao gồm cả thành phố 1 và thành phố 𝑛).
Dữ liệu: Vào từ file GRAPH.INP:
• Dòng đầu chứa ba số nguyên dương 𝑛, 𝑘 và 𝑚 (𝑚, 𝑘 ≤ 1000).
• Tiếp theo là 𝑚 dòng, mỗi dòng chứa 𝑘 số nguyên thể hiện số hiệu của những
thành phố được chọn để xây dựng cụm con đường tương ứng.
Kết quả: Ghi ra file GRAPH.OUT một số nguyên dương là số lượng thành
phố ít nhất cần đi qua, nếu mạng lưới giao thông không đảm bảo đi đến được thành
phố 𝑛 thì in ra −1.
Ràng buộc:
• Có 40% số test ứng với 40% số điểm có 𝑛 ≤ 1000.
• 60% số test còn lại ứng với 60% số điểm có 𝑛 ≤ 105 .
Ví dụ:
GRAPH.INP GRAPH.OUT Giải thích
935 4 Có hai cách đi từ thành phố 1
123 đến thành phố 9 với độ dài 4:
145 Cách 1: 1→3→6→9
367 Cách 2: 1→5→6→9
567
689

You might also like