Professional Documents
Culture Documents
Hãy lập chương trình giải các bài toán sau đây
BÀI 1. VẼ BIỂU ĐỒ
Huy là một kỹ sư tài năng, hiện anh đang thực hiện một nghiên cứu mới của mình và cần phải thực hiện
vẽ biểu đồ cột, biểu đồ này của Huy rất đặc biệt bởi các cột của chúng nằm liền sát nhau và không có
khoảng cách. Vì vậy Huy quyết định sẽ vẽ biểu đồ trên tấm giấy kẻ ô (Caro Paper) kích thước 109 × 𝑛
của mình.
Trang 1
- Dòng đầu tiên chứa hai số nguyên 𝑛, 𝑘 (0 ≤ 𝑘 ≤ 𝑛 ≤ 2000) là số cột của biểu đồ và số cột tối đa
bạn nữ sẽ sửa
- Dòng thứ hai chứa 𝑛 số nguyên không âm ℎ1 , ℎ2 , … , ℎ𝑛 (ℎ𝑖 ≤ 109 ) là độ cao ban đầu của 𝑛 cột
Ràng buộc:
- Có 25% số điểm của bài thỏa mãn 𝑘 = 0
- Có 25% số điểm khác với ℎ1 ≤ ℎ2 ≤ ⋯ ≤ ℎ𝑛
- Có 25% số điểm khác có 𝑛 ≤ 500
- Còn lại không có điều kiện gì thêm
Ví dụ:
RESEARCH.INP RESEARCH.OUT Giải thích:
4 1 3 Đổi ℎ2 thành 3, cần 3 lần tô màu:
1 2 3 4 - Tô hàng 1 của tất cả cá cột
- Tô hàng 2 từ cột 2 tới cột 4
- Tô hàng 3 từ cột 3 tới cột 4
6 2 7 Đổi ℎ3 thành 2 và ℎ6 thành 6, ta mất 7 lần
1 2 1 9 6 8 tô màu
Trang 2
Ràng buộc:
- Có 30% số điểm của bài với 𝑛, 𝑚 ≤ 2000
- Có 30% số điểm khác có 𝑘 = 109 , 𝑚 = 𝑛 − 1, 𝑎𝑖 ≤ 106 với mọi 𝑖 và từ một thành phố bất kì có
thể đi tới mọi thành phố khác
- Còn lại không có điều kiện gì thêm
Ví dụ:
BKLR.INP BKLR.OUT Giải thích:
5 5 7 4 Lộ trình của Tâm như
1 2 3 sau:
1 3 2 - Đi từ 1 → 4
3 4 3 bằng cổng dịch
chuyển
4 5 2 - Đi từ 4 → 5
1 5 6 bằng đường đi
4 4 1 5 1 thông thường
1 5
Yêu cầu: Bạn hãy trả lời 𝑄 câu hỏi được đặt ra nhé.
Dữ liệu: Vào từ file văn bản LOVESTORY.INP:
- Dòng đầu tiên gồm ba số nguyên 𝑁, 𝑄, 𝐾 (1 ≤ 𝑁, 𝑄 ≤ 105 , 0 ≤ 𝐾 < 2) là số địa điểm, số câu hỏi
của Tiến và số dùng để mã hóa các câu hỏi
- Dòng tiếp theo gồm 𝑁 số nguyên dương 𝑎1 , 𝑎2 , … , 𝑎𝑛 (1 ≤ 𝑎𝑖 ≤ 109 ∀ 1 ≤ 𝑖 ≤ 𝑁) tương ứng là
độ cao của các địa điểm
Trang 3
- 𝑁 − 1 dòng tiếp theo, mỗi dòng gồm hai số nguyên 𝑢, 𝑣 (1 ≤ 𝑢, 𝑣 ≤ 𝑁) là môt tả một đường đi
nối giữa hai địa điểm
- 𝑄 dòng tiếp theo, mỗi dòng gồm hai số 𝑢, 𝑣 (1 ≤ 𝑢 ≤ 𝑣 ≤ 𝑁) mô tả một câu hỏi đã được mã hóa;
để giải mã hãy làm theo các bước dưới đây:
o Gọi 𝑎𝑛𝑠 là câu trả lời của câu hỏi trước đó (𝑎𝑛𝑠 = 0 nếu đây là câu hỏi đầu tiên)
o 𝑢′ = (𝑢 + 𝑎𝑛𝑠 × 𝐾) % 𝑛 + 1
o 𝑣 ′ = (𝑣 + 𝑎𝑛𝑠 × 𝐾) % 𝑛 + 1
o Khi đó 𝑢′ , 𝑣′ chính là nội dung của câu hỏi
Kết quả: Xuất ra file văn bản LOVESTORY.OUT:
- Gồm 𝑄 dòng, mỗi dòng gồm một số nguyên dương 𝑋 là đáp án thỏa mãn câu hỏi tương ứng. Nếu
Tiến luôn thắng trong một câu hỏi thì in ra 1.
Ràng buộc:
- Có 20% số điểm thỏa mãn 𝑁 ≤ 3000.
- Có 20% số điểm khác có tất cả các biển đều có giá trị bằng nhau.
- Có 30% số điểm khác với 𝐾 = 0
- Còn lại không có giới hạn gì thêm.
Ví dụ:
LOVESTORY.INP LOVESTORY.OUT Giải thích:
6 3 0 4 Ở câu hỏi đầu tiên, đường đi từ
3 1 2 1 2 3 4 1 → 3 có 2 số: 2, 3. Nếu 𝑥 ≤ 3
1 2 1 thì người ấy chọn 3 là thắng,
1 3 nên đáp án phải là 4
2 4
2 5 Ở câu hỏi thứ 3, Tiến luôn
4 6 thắng với mọi 𝑥 nên đáp án là
1 3 1.
2 3
2 4
6 3 1 1 No comments
3 1 2 1 2 3 3
1 2 4
1 3
2 4
2 5
4 6
1 3
2 3
2 4
BÀI 4. SÔ CÔ LA
Nam và Duy là bộ đôi song sát của trường mầm non SuperKids, hai bạn có thể nói là kẻ tám cân người
nửa lạng, không ai thua ai. Hôm nay, hai bạn được Giáo sư X thưởng 𝑘 tảng Sô cô la; mỗi một trong 𝑘
tảng Sô cô la này có hình chữ nhật được chia thành nhiều miếng sô cô la bé hơn (Gọi là các viên).
Trang 4
Mô tả những miếng sô cô la mà Giáo sư X thưởng cho hai bạn
Nam và Duy quyết định sẽ không chia sẻ với mọi người ăn chia “công bằng”. Cụ thể, giả sử các hàng của
các tảng sô cô la đánh số bắt đầu bởi 1 từ trên xuống dưới, các cột của các tảng sô cô la đánh số bắt đầu
bởi 1 từ trái sang phải; hai bạn sẽ ăn theo lượt, bạn nào đến lượt sẽ:
- Chọn một viên sô cô la nằm trên hàng 𝑖 và cột 𝑗 của miếng Socola nào đó (Viên sô cô la này phải
chưa được ăn bởi một trong hai bạn)
- Ăn toàn bộ các viên sô cô la nằm trên hàng 𝑥, cột 𝑦 thỏa mãn 𝑥 ≤ 𝑖, 𝑦 ≤ 𝑗 ở tảng sô cô la đó (Nếu
như viên này chưa được ăn)
Tuy nhiên, trong văn hóa của người Việt Nam, chúng ta không nên động đến miếng cuối; nói một cách
nôm na thì miếng cuối của mỗi mảng sô cô la là miếng liêm sỉ, bạn nào ăn sẽ bị trêu đến hết đời. Và dĩ
nhiên, không bạn nào muốn mình bất đắc dĩ phải ăn miếng cuối cùng cả.
Sau khi bàn bạc, hai bạn quyết định Nam sẽ là người ăn trước; các bạn trong lớp dù không được chia Sô
cô la nhưng cũng rất muốn biết ai là người sẽ bị trêu đến cuối đời.
Yêu cầu: Bạn hãy cho biết ai là người ăn miếng liêm sỉ nhé.
Dữ liệu: Vào từ file văn bản CHOCO.INP:
- Dòng đầu tiên chứa số nguyên dương 𝑡 (𝑡 ≤ 105 ) là số bộ dữ liệu, 𝑡 nhóm dòng sau, mỗi nhóm
dòng bao gồm:
o Dòng đầu tiên chứa số nguyên dương 𝑘 (𝑘 ≤ 105 ) là số tảng Sô cô la
o 𝑘 dòng tiếp, mỗi dòng chứa hai số nguyên dương 𝑚, 𝑛 (𝑚, 𝑛 ≤ 10) mô tả kích thước của
tảng Sô cô la
Dữ liệu đảm bảo tổng 𝑘 trong mọi bộ dữ liệu không vượt quá 105
Ràng buộc:
- Có 20% số điểm của bài thỏa mãn 𝑘 = 1
- Có 20% số điểm khác của bài có 𝑚 = 1 với mọi miếng sô cô la
- Có 30% số điểm khác của bài với 𝑚, 𝑛 ≤ 4 trong mọi bộ dữ liệu
- Còn lại không có điều kiện gì thêm
Trang 5
Ví dụ:
CHOCO.INP CHOCO.OUT
4 NAM
1 DUY
1 1 NAM
1 DUY
1 5
2
1 3
3 1
2
2 3
3 4
HẾT
Trang 6