sÁch tin hỌc dÀnh cho hỌc sinh ptnk -...

153
TRƢỜNG PHTHÔNG NĂNG KHIẾU ĐHQG TPHCM HIGH SCHOOL FOR THE GIFTED VNU HCM SÁCH TIN HC DÀNH CHO HC SINH PTNK Tiến sĩ Đào Duy Nam PTNK ĐHQG TPHCM

Upload: ngonhi

Post on 25-May-2018

247 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

TRƢỜNG PHỔ THÔNG NĂNG KHIẾU – ĐHQG TPHCM

HIGH SCHOOL FOR THE GIFTED – VNU HCM

SÁCH TIN HỌC

DÀNH CHO HỌC

SINH PTNK

Tiến sĩ Đào Duy Nam

PTNK – ĐHQG TPHCM

Page 2: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 2

Làm trai phải lạ ở trên đời,

Há để càn khôn tự chuyển dời

Page 3: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 3

MỤC LỤC ĐỒNG HỒ BÁO THỨC ............................................................................................................................... 6 BÁO THỨC .................................................................................................................................................. 7 PHẢN VẬT CHẤT ....................................................................................................................................... 8 CÁNH ĐỒNG CỎ ...................................................................................................................................... 10 TÁC GIẢ .................................................................................................................................................... 11 TỔNG NHỎ NHẤT .................................................................................................................................... 12 ĐẤU GIÁ .................................................................................................................................................... 13 DÃY SỐ TRUNG BÌNH CỘNG ................................................................................................................ 14 THU NHẶT BÓNG .................................................................................................................................... 15 HỆ ĐẾM ..................................................................................................................................................... 16 HẢI LY ....................................................................................................................................................... 17 ĐƢỜNG ĐI BFS......................................................................................................................................... 19 CẦU PHAO ................................................................................................................................................ 20 CẦU KHỈ .................................................................................................................................................... 21 SỐ ĐẸP ....................................................................................................................................................... 23 XÂU KÝ TỰ NGOẶC ............................................................................................................................... 24 KHÔI PHỤC NGOẶC ................................................................................................................................ 25 LỊCH BYTELAND ..................................................................................................................................... 26 HỘP KẸO ................................................................................................................................................... 27 ĐUA XE ..................................................................................................................................................... 28 PHÒNG THỦ PHÁO ĐÀI .......................................................................................................................... 29 BÀN CỜ ..................................................................................................................................................... 30 SÔ CÔ LA .................................................................................................................................................. 31 RẠP CHIẾU BÓNG ................................................................................................................................... 32 GIAO THÔNG THÀNH PHỐ .................................................................................................................... 33 MÃ HÓA ĐA LỚP ..................................................................................................................................... 34 CÁC ĐỒNG XU ......................................................................................................................................... 36 LẮP RÁP MÁY TÍNH ............................................................................................................................... 37 ĐIỀU HÒA NHIỆT ĐỘ .............................................................................................................................. 38 CÁC THÀNH PHẦN LIÊN THÔNG ........................................................................................................ 39 DÃY LIÊN TIẾP ........................................................................................................................................ 40 BAO LỒI .................................................................................................................................................... 41 BỎNG NẾP ................................................................................................................................................. 42 VƢỢT SUỐI ............................................................................................................................................... 43 ĐƢỜNG THỦY .......................................................................................................................................... 44 CẮT VẢI .................................................................................................................................................... 45 NGÀY THÁNG .......................................................................................................................................... 46 ƢỚC SỐ ...................................................................................................................................................... 48 GIẢI MÃ SỐ............................................................................................................................................... 49 KHOẢNG CÁCH SỐ ................................................................................................................................. 50 LÂY NHIỄM EBOLA ................................................................................................................................ 51 BẦU CỬ ..................................................................................................................................................... 52 XÓA SỐ ...................................................................................................................................................... 53 EQUATION ................................................................................................................................................ 54 XÂY DỰNG HÀNG RÀO ......................................................................................................................... 55

Page 4: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 4

HỘI KHỎE PHÙ ĐỔNG ............................................................................................................................ 56 TÔ MÀU ..................................................................................................................................................... 57 XÂU FIBONACCI ..................................................................................................................................... 58 XÂU FIBONACCI 2 .................................................................................................................................. 59 LỌC SỐ ...................................................................................................................................................... 60 ĐÁNH CÁ TRÊN SÔNG KAMA .............................................................................................................. 61 TẶNG HOA ................................................................................................................................................ 62 ĐẶT QUẦY PHỤC VỤ ............................................................................................................................. 63 THỨ SÁU NGÀY 13 .................................................................................................................................. 64 ẾCH ............................................................................................................................................................ 65 ẾCH ĐỘT BIẾN GEN ................................................................................................................................ 66 HÀM SỐ ..................................................................................................................................................... 67 GEN VI KHUẨN ........................................................................................................................................ 68 QUÀ TẶNG ................................................................................................................................................ 69 SẾU ............................................................................................................................................................. 70 BÀI TẬP VỀ NHÀ ..................................................................................................................................... 71 SỐ NGUYÊN TỐ ....................................................................................................................................... 72 THẦN TƢỢNG .......................................................................................................................................... 73 DÃY CON ĐƠN ĐIỆU TĂNG DÀI NHẤT .............................................................................................. 74 TỐI GIẢN PHÂN SỐ ................................................................................................................................. 75 BA LÔ DU LỊCH........................................................................................................................................ 76 TÁO QUÂN ................................................................................................................................................ 77 HIỆN SỐ BẰNG ĐÈN LED ....................................................................................................................... 78 NGÔN NGỮ ............................................................................................................................................... 79 KHÓA SỐ ................................................................................................................................................... 80 THÀNH PHỐ MAY MẮN ......................................................................................................................... 81 LŨY THỪA CỦA 2 .................................................................................................................................... 82 ĐƢỜNG VÀNH ĐAI ................................................................................................................................. 83 CÁC THỎI NAM CHÂM .......................................................................................................................... 84 TẦN SỐ XUẤT HIỆN NHIỀU NHẤT ...................................................................................................... 85 DƢA HẤU Ở CÁNH ĐỒNG KỲ DIỆU .................................................................................................... 86 HỖN HỢP ................................................................................................................................................... 87 MODULO ................................................................................................................................................... 88 TIỀN ........................................................................................................................................................... 89 KHẢM TRANH.......................................................................................................................................... 90 ĐẶT THÁP PHÒNG THỦ Ở CÁC NGỌN NÚI ....................................................................................... 91 MP3 PLAYER ............................................................................................................................................ 96 NGÔN NGỮ MUMBA ............................................................................................................................... 97 CÁCH TIẾP THEO .................................................................................................................................... 98 KHÔNG ĐƠN GIẢN ................................................................................................................................. 99 NTFS ......................................................................................................................................................... 100 SỐ THÂN THIỆN .................................................................................................................................... 101 NUMPOS .................................................................................................................................................. 102 TRÕ CHƠI VỚI DÃY SỐ ........................................................................................................................ 103 CON SỐ BÍ ẨN ........................................................................................................................................ 104 LUYỆN TẬP DỰ THI HỌC SINH GIỎI ................................................................................................. 105 SẮP XẾP ẢO ............................................................................................................................................ 106 HỆ ĐIỀU HÀNH ...................................................................................................................................... 108

Page 5: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 5

SỐ ĐỐI XỨNG......................................................................................................................................... 109 TRÔNG XE .............................................................................................................................................. 110 ĐỖ XE ...................................................................................................................................................... 111 DÒ TÌM MẬT KHẨU .............................................................................................................................. 112 ĐỒNG DIỄN ............................................................................................................................................ 113 GIỜ THỂ DỤC ......................................................................................................................................... 114 ĐA GIÁC .................................................................................................................................................. 115 PHẦN THƢỞNG ...................................................................................................................................... 116 BÌA ĐỤC LỖ ............................................................................................................................................ 117 ĐƢỜNG CHẠY........................................................................................................................................ 118 ROBOT DI CHUYỂN .............................................................................................................................. 119 THỰC NGHIỆM KỸ THUẬT ROBOT ................................................................................................... 120 RÔ BỐT .................................................................................................................................................... 122 QUAY BẢNG ........................................................................................................................................... 123 THAM QUAN THÀNH PHỐ .................................................................................................................. 124 VỆ TINH ................................................................................................................................................... 125 DÃY SỐ .................................................................................................................................................... 126 DÃY SỐ .................................................................................................................................................... 127 CÁC MÁY CHỦ Ở SAO THỦY .............................................................................................................. 128 BẢY CHỮ SỐ .......................................................................................................................................... 130 BÁN HÀNG.............................................................................................................................................. 131 ỐC SÊN .................................................................................................................................................... 132 GA HÀNG HÓA....................................................................................................................................... 133 KẾT QUẢ ĐẸP......................................................................................................................................... 134 CHÒM SAO.............................................................................................................................................. 135 THIẾT BỊ KĨ THUẬT SỐ ........................................................................................................................ 137 TỔNG ....................................................................................................................................................... 138 MUA VÉ XE............................................................................................................................................. 139 XÂY THÁP .............................................................................................................................................. 140 ĐƢỜNG TRƢỢT ..................................................................................................................................... 141 TÀU ĐIỆN ................................................................................................................................................ 142 QUAY XÂU KÝ TỰ ................................................................................................................................ 143 CHÌA KHÓA TAM GIÁC ........................................................................................................................ 144 DÃ NGOẠI ............................................................................................................................................... 145 MẠNG GIAO THÔNG ............................................................................................................................ 146 SỐ SINH ĐÔI ........................................................................................................................................... 147 ĐIỀU KHIỂN MÁY QUAY PHIM .......................................................................................................... 148 PHÉP TÍNH XOR ..................................................................................................................................... 150 TÔ MÀU ................................................................................................................................................... 151 D Y DẪN ................................................................................................................................................ 152 TỪ DÀI NHẤT ......................................................................................................................................... 153

Page 6: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 6

ĐỒNG HỒ BÁO THỨC

An rất mê đồng hồ loại hiển thị bằng số điện tử sử dụng 7 đèn LED để biểu diễn các số từ 0 đến

9 nhƣ hình bên dƣới.

An thƣờng mân mê chỉnh chiếc đồng hồ xinh xắn của mình để đặt báo thức vào mỗi tối. Đêm

qua cô bé đã mơ về chiếc đồng hồ yêu quý của mình, nhƣng không may khi tỉnh dậy lại quên

thời gian đã hiển thị trên đồng hồ mà chỉ còn nhớ số vạch LED hiển thị

trên đồng hồ.

Thời gian hiển thị trên đồng hồ của An đƣợc biểu diễn bởi 4 chữ số, 2

chữ số cho giờ và 2 chữ số cho phút, và đƣợc thiết lập hiển thị ở chế độ 24h. Ví dụ hình bên biểu

diễn cho 9h30 (có số 0 ở đầu).

Dữ liệu: vào từ tập tin văn bản ALARM.INP số nguyên là số vạch hiển thị trên

đồng hồ.

Kết quả: xuất ra tập tin văn bản ALARM.OUT 5 kí tự hiển thị theo định dạng “hh:mm” là thời

gian hợp lệ hiển thị trên đồng hồ .

- Nếu có nhiều kết quả thì in ra kết quả bất kỳ

- Nếu không tìm đƣợc kết quả thì in ra thông báo “Impossible”

Ví dụ:

ALARM.INP ALARM.OUT

23 09:30

ALARM.INP ALARM.OUT

28 Impossible

Page 7: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 7

BÁO THỨC

Mỗi sáng, khi tiếng chuông đồng hồ báo thức vang lên, Steve truồi ra khỏi giƣờng rồi tất bật

chuẩn bị đi học trong trạng mơ màng ngái ngủ. Do đãng trí, đôi khi Steve vẫn để chuông cả vào

chủ nhật. Tuy vậy điều đó cũng không làm Steve phải phiền lòng nhiều. Thật là thú vị khi đƣợc

nằm trên giƣờng đệm êm ấm cho đến khi thực sự tỉnh ngủ. Steve ƣớc gì ngày nào cũng đƣợc nhƣ

vậy. Một ngƣời bạn đã mách cho Steve một giải pháp đơn giản: đặt chuông sớm 45 phút và

Steve làm theo lời khuyên.

Đồng hồ của Steve thuộc loại 24giờ, nghĩa là sau 23 giờ 59 phút sẽ là 00 giờ 00 phút.

Yêu cầu: Cho h và m là giờ và phút mà Steve cần dậy. Hãy xác định x và y – giờ và phút Steve

cần dặt báo thức theo lời khuyên của bạn bè.

Dữ liệu: Vào từ file văn bản ALARM.INP gồm một dòng chứ 2 số nguyên h và m.

Kết quả: Đƣa ra file văn bản ALARM.OUT trên một dòng hai số nguyên x và y.

Ví dụ:

ALARM.INP ALARM.OUT

0 30

23 45

Page 8: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 8

PHẢN VẬT CHẤT

Công ty kiểm tra công nghệ nhận phản vật chất sử dụng trong chất lƣợng nhiên liệu trong tàu vũ

trụ liên hành tinh. Phản vật chất nhận đƣợc trong kết quả của các thí nghiệm đặc biệt trong lò

phản ứng.

Đƣợc biết n loại thí nghiệm, diễn ra để nhận phản vật chất. Trong kết quả diễn ra thử nghiệm thứ

loại thứ i trong bể chứa lò phản ứng đƣợc thêm vào từ li đến ri gram phản vật chất. Từ việc đảm

bảo an toàn nghiêm cấm đƣa vào bể chứa lò phản ứng nhiều hơn a gram phản vật chất.

Chi phí để tiến hành thí nghiệm loại thứ i là ci, còn chi phí của một gram phản vật chất nhận

đƣợc là 109.

Nếu sau khi tiến hành thí nghiệm trong bể chứa hình thành t gram phản vật chất, còn tổng chi phí

tiến hành thí nghiệm trong lò phản ứng là s, thì lợi nhuận đƣợc xác định theo công thức

(t . 109 – s ). Công ty cần phát triển chiến lƣợc tiến hành thí nghiệm cho phép nhận đƣợc lợi

nhuận lớn nhất mà đảm bảo có thể nhận đƣợc.

Sự phụ thuộc vào kết quả của chiến lƣợc thí nghiệm trƣớc xác định thí nghiệm loại nào tiến hành

hoặc quyết định bỏ thực nghiệm thí nghiệm. Chiến lƣợc cho phép đảm bảo nhận đƣợc lợi nhuận

x, nếu trong bất kỳ kết quả tiến hành thí nghiệm: đầu tiên, trong bể chứa lò phản ứng đƣợc chỉ ra

không nhiều hơn a gram phản vật chất, thứ hai lợi nhuận đạt đƣợc không nhỏ hơn x.

Ví dụ, có thể chỉ một loại thí nghiệm làm ra từ 4 đến 6 gram phản vật chất, chi phí cho nó là 10,

còn công suất bể chứa đạt đƣợc 17 gram. Khi đó sau hai lần tiến hành thí nghiệm trong bể có từ

8 đến 12 gram phản vật chất. Nếu nhận 12 gram phản vật chất thì không thể tiến hành thí nghiệm

thêm nữa nhƣ trong trƣờng hợp nhận 6 gram phản vật chất bể chứa có thể bị tràn. Các trƣờng

hợp còn lại có thể tiến hành thí nghiệm trong ba lần và nhận đƣợc từ 12 đến 17 gram phản vật

chất. Trong trƣờng hợp xấu nhất tiến hành thí nghiệm ba lần chi phí là 30, lợi nhuận

( 12 . 109 – 30 ) = 11 999 999 970.

Yêu cầu: Viết chƣơng trình xác định lợi nhuận lớn nhất x, mà đảm bảo có thể nhận đƣợc.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên n – số lƣợng các loại thí nghiệm và a – số lƣợng phản vật chất

lớn nhất cho phép trong bể chứa ( 100 , 1 ≤ a ≤ 2 000 000 ).

Page 9: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 9

Tiếp theo n dòng chứa ba số nguyên li, ri và ci – số lƣợng nhỏ nhất, lớn nhất phản vật chất nhận

đƣợc trong kết quả thí nghiệm loại i, và chi phí của thí nghiệm loại này ( 0 ≤ li ≤ ri ≤ a, 0 ≤ ci ≤

100 ).

Dữ liệu ra

Đƣa ra một số nguyên x là lợi nhuận lớn nhất mà đảm bảo có thể nhận đƣợc.

Ví dụ:

ANTI.INP ANTI.OUT

1 17

4 6 10

11999999970

2 11

2 2 100

3 5 5

9999999890

Page 10: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 10

CÁNH ĐỒNG CỎ

Ngƣời ta chia một cánh đồng hình chữ nhật thành ô vuông đơn vị có kích thƣớc bằng

nhau . Tại mỗi ô vuông đơn vị, ngƣời ta trồng cỏ hoặc để trống dành chỗ cho

lối đi. Ban đầu cỏ đƣợc trồng để chia cánh đồng thành rất nhiều vùng khác nhau, ngăn cách giữa

các vùng đất trồng cỏ là các lối đi. Tuy nhiên do giống cỏ dại phát triển rất nhanh nên sau một

thời gian, một số ô của lối đi đã bị cỏ mọc phủ lên làm một số vùng cỏ khác nhau trƣớc đây bị

sáp nhập lại, 2 vùng cỏ bị sáp nhập nếu chúng tồn tại 2 ô vuông đơn

vị có chung cạnh với nhau.

Thông tin về các vùng cỏ trên cánh đồng đƣợc vệ tinh ghi nhận lại

dƣới dạng một bản đồ với các kí hiệu sau: 1 dấu * thể hiện vùng cỏ

mọc trên một ô vuông đơn vị, 1 dấu # thể hiện 1 ô vuông đơn vị

dành làm lối đi. Ví dụ dƣới đây minh họa kết quả ghi nhận của vệ

tinh đối với cánh đồng bị chia thành 4 vùng cỏ:

Yêu cầu: Hãy đếm số vùng cỏ còn lại trên cánh đồng.

Dữ liệu: Đọc từ tập tin văn bản AREA.INP

- Dòng đầu chứa 2 số nguyên dƣơng .

- Trong dòng tiếp theo, mỗi dòng chứa kí tự là dấu * hoặc dấu # biểu diễn dữ liệu của

cánh đồng.

Kết quả: Xuất ra tập tin văn bản AREA.OUT số vùng cỏ trên cánh đồng.

ụ:

AREA.INP AREA.OUT

6 15

******##*******

*****##********

******#######**

#######****##**

******###**#***

**###***###****

4

******##*******

*****##********

******#######**

#######****##**

******###**#***

**###***###****

Page 11: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 11

TÁC GIẢ

Các phát minh khoa học lớn thƣờng đƣợc đặt bằng tên các nhà khoa học đã tìm ra chúng. Ví dụ,

hệ thống mã hóa phi đối xứng RSA do các nhà bác học Rivest, Shamir và Adleman đề xuất. Một

ví dụ quen thuộc khác – giải thuật Knuth – Morris – Pratt đƣợc gọi bởi tên các tác giả là Knuth,

Morris và Pratt.

Các tài liệu khoa học có rất nhiều và không hoàn toàn nhất quán khi đặt tên giải thuật. Có khi

ngƣời ta dùng phƣơng án ngắn gọn – dùng chữ cái đầu của tên tác giả (nhƣ RSA), có khi dùng

phƣơng án đầy đủ – tên các tác giả, nối với nhau bằng ký tự “-“ ( nhƣ Knuth – Morris – Pratt).

Trong phạm vi một bài báo, việc dùng cả hai dạng đặt tên là thiếu thẩm mỹ, vì vậy, nên chuẩn

hóa theo một cách gọi, chẳng hạn – phƣơng án ngắn gọn.

Yêu cầu: Cho xâu chứa tên tên giải thuật theo phƣơng án đầy đủ, có độ dài không quá 100 ký tự,

bao gồm các chữ cái la tinh hoa và thƣờng và ký tự “-“ (Mã ASCII là 45). Tên mỗi tác giả bắt

đầu bằng chữ cái hoa. Hãi xác định phƣơng án ngắn gọi tên giải thuật của các tác giả này.

Dữ liệu: Vào từ file văn bản AUTHOR.INP gồm một dòng chứa xâu ký tự tên giải thuật phƣơng

án đầy đủ.

Kết quả: Đƣa ra file văn bản AUTHOR.OUT một dòng chứa tên giải thuật theo phƣơng án ngắn

gọn.

Ví dụ:

AUTHOR.INP AUTHOR.OUT

Knuth-Morris-Pratt KMP

Page 12: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 12

TỔNG NHỎ NHẤT

Cho hai dãy số nguyên và hãy tìm một phần tử trong dãy

và một phần tử trong dãy có là nhỏ nhất có thể .

Dữ liệu: vào từ tập tin văn bản ASUMMIN.INP

- Dòng 1 chứa hai số nguyên dƣơng

- Dòng 2 chứa số nguyên ( )

- Dòng 3 chứa số nguyên ( )

Kết quả: ghi ra tập tin văn bản ASUMMIN.OUT hai chỉ số và của hai phần tử tƣơng ứng tìm

đƣợc.

Ví dụ

ASUMMIN.INP ASUMMIN.OUT

4 5

1 8 2 9

-5 -6 3 -7 -4

2 4

Giải thích:

Page 13: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 13

ĐẤU GIÁ Sở giao thông Hà Nội quyết định bán đấu giá các biển số xe đẹp để lấy tiền ủng hộ đồng bào lũ

lụt miền Trung. Một biển số xe đƣợc gọi là đẹp nếu nó thỏa mãn các điều kiện sau:

- Là một số nguyên dƣơng mà trong đó là hai số nguyên dƣơng cho trƣớc;

- là một số nguyên tố;

- là một số đối xứng (đọc từ trái qua phải thu đƣợc kết quả giống nhƣ đọc từ phải qua

trái).

Yêu cầu: Cho hai số nguyên dƣơng và , hãy tìm số lƣợng các biển số xe đẹp.

Dữ liệu: vào từ tập tin văn bản AUCTION.INP chứa hai số nguyên

Kết quả: ghi ra tập tin văn bản AUCTION.OUT số lƣợng biển số xe đẹp tìm đƣợc.

Ví ụ:

AUCTION.INP AUCTION.OUT

11111 22222 23

Page 14: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 14

DÃY SỐ TRUNG BÌNH CỘNG

Mirko vừa nghĩ ra một cách luyện tập các phép toán số học mà cậu cho là thú vị nhƣ sau: trƣớc

tiên Mirko viết một dãy gồm các số . Sau đó, bên dƣới mỗi phần tử của dãy số đầu tiên, Mirko

viết một con số là giá trị trung bình cộng các phần tử của tính từ đầu dãy đến vị trí hiện tại.

Chẳng hạn, dãy có giá trị thì giá trị của dãy sẽ là

Yêu cầu: cho giá trị các phần tử của dãy . Hãy tìm dãy ban đầu phù hợp với cách tính của

Mirko.

Dữ liệu: vào từ tập tin văn bản AVGSEQ.INP

- Dòng đầu tiên chứa số nguyên dƣơng

- Dòng tiếp theo chứa dãy số nguyên

Kết quả: ghi ra tập tin văn bản AVGSEQ.OUT gồm 1 dòng chứa dãy số tìm đƣợc.

Dữ liệu vào đƣợc cho đảm bảo dãy tìm đƣợc là dãy số nguyên và có giá trị không vƣợt quá

.

ụ:

AVGSEQ.INP AVGSEQ.OUT

4

3 2 3 5

3 1 5 11

Page 15: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 15

THU NHẶT BÓNG

Trong một trò chơi vận động, đội chơi sẽ cử ngƣời thực hiện một số lƣợt để lấy hết tất cả quả

bóng của ban tổ chức theo luật chơi. Lƣợt thứ nhất, ngƣời chơi chỉ đƣợc lấy tối đa 1 quả, lƣợt thứ

2 chỉ đƣợc lấy tối đa quả, lƣợt thứ 3 chỉ đƣợc lấy tối đa quả. Tổng quát,

lƣợt thứ ngƣời chơi chỉ đƣợc lấy tối đa quả bóng.

Yêu cầu: cho số nguyên dƣơng , hỏi đội chơi cần thực hiện ít nhất là bao nhiêu lƣợt để lấy hết

tất cả quả bóng của ban tổ chức.

Dữ liệu: vào từ tập tin văn bản BALLOONS.INP số nguyên dƣơng .

Kết quả: ghi ra tập tin văn bản BALLOONS.OUT số lƣợt ít nhất mà đội chơi cần thực hiện để

lấy hết tất cả quả bóng.

ụ:

BALLOONS.INP BALLOONS.OUT

16 4

Page 16: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 16

HỆ ĐẾM

Steve rất hào hứng với các bài tập chuyển đổi cơ số. Sau khi làm xong các bài tập về nhà, Steve

ngồi viết lần lƣợt các số tự nhiên 1, 2, 3, . . . sang dạng biểu diển ở cơ số b (2 < b ≤ 36). Để biểu

diễn chữ số, Steve dùng các ký tự từ 0 đến 9 và các chữ cái từ a đến z. Sau đó Steve gạch đi tất

cả những số có dạng biểu diễn tƣơng ứng với một số nào đó trong cơ số c (2 ≤ c < b).

Ví dụ, với b = 3, dãy số tự nhiên sau khi chuyển cơ số sẽ là 1, 2, 10, 11, 12, 20,21, . . . Nếu gạch

khỏi dãy tất cả các số tƣơng ứng với một số nào đó trong hệ đếm c = 2, dãy các số còn lại sẽ là

2, 12, 20, 21, . . .

Ngắm nhìn dãy số còn lại Steve chợt nghĩ: “Cần phải kiểm tra xem mình có bỏ sót số khi viết

hoặc chuyển hệ đếm sai hay không”. Một trong các cách kiểm tra là tính số thứ n còn lại trong

dãy và so sánh với kết quả dếm trực tiếp trên dãy.

Yêu cầu: Cho 3 số nguyên n, b và c ( 1 ≤ n ≤ 1012, 2 ≤ c < b ≤ 36). Hãy xác định và đƣa ra ( ở

hệ thập phân) số thứ n còn lại trong dãy. Các số còn lại đƣợc đánh số từ 1.

Dữ liệu: Vào từ file văn bản BASES.INP gồm một dòng chứa 3 số nguyên n, b và c.

Kết quả: Đƣa ra file văn bản BASES.OUT một số nguyên – số tìm đƣợc.

Ví dụ:

BASES.INP BASES.OUT

2 3 2 5

Page 17: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 17

HẢI LY

Hải ly là loài vật rất thông minh và nổi tiếng là bậc thầy trong việc xây dựng các đập ngăn sông

suối.

Hải ly đứng trƣớc một hàng cây dài vô tận (cả về hai phía).Với chú hải ly, một cây có thể thuộc

loại tốt hay xấu. Khi chú gặm một cây, tùy theo tình hình cụ thể, loại cây có thể vẫn giữ nguyên

hoặc chuyển từ tốt sang xấu hay ngƣợc lại. Ban đầu tất cả các cây dều thuộc loại tốt.

Chú hải ly có thể có một trong năm trạng thái tình cảm: A – Dận dữ (Agry), B – Bận rộn (Busy),

C – Hứng khởi (Creative), D – Chán nản (Despaired), E – Mệt mỏi (Exhausted). Ban đầu hải ly ở

trạng thái A.

Khi hải ly đứng trƣớc một cây, phụ thuộc vào trạng thái tính cảm của mình và loại cây nó sẽ làm

những việc sau:

Gặm cái cây, loại cây có thể sẽ bị thay đổi,

Giữ nguyên hoặc thay đổi trạng thái tình cảm của mình,

Chuyển sang cây kề cạnh bên phải hoặc bên trái.

Với một tổ hợp tình cảm và loại cây trƣớc mặt hải ly tự cho là đập đã hoàn thành và cảm thấy vui

sƣớng (Happy). Cũng có thể hải ly không bao giờ thấy sung sƣớng trong suốt quá trình hoạt

động không ngừng của mình.

Yêu cầu: Cho bộ quy tắc hành động của hải ly, bao gồm 10 từ, mỗi từ 3 ký tự. Từ thứ nhất xác

định hành động của hải ly khi ở trạng thái A và đứng trƣớc cây tốt, từ thứ hai xác định hành

động của hải ly khi ở trạng thái A và đứng trƣớc cây xấu, từ thứ ba xác định hành động của hải

Page 18: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 18

ly khi ở trạng thái B và đứng trƣớc cây tốt, từ thứ tƣ xác định hành động của hải ly khi ở trạng

thái B và đứng trƣớc cây xấu, . . . Giả thiết từ có dạng αβγ.

Hãy xác định xem đến một lúc nào đó hải ly sẽ cảm thấy vui sƣớng hay không.

Dữ liệu: Vào từ file văn bản BEAVER.INP, gồm một dòng chứa 10 từ, các từ cách nhau một dấu

cách.

Kết quả: Đƣa ra file văn bản BEAVER.OUT thông báo happy beaver hoặc unhappy

beaver tùy theo kết quả nhận đƣợc.

Ví dụ:

BEAVER.INP BEAVER.OUT

1RB 1LC 1RC 1RB 1RD 0LE 1LA 1LD 1RH 0LA happy beaver

αβγ

L – Chuyển sang cây bên trái,

R – Chuyển sang cây bên phải

Trạng thái mới của hải ly.

H –Vui sướng..

1 – Biến cây thành xấu,

0 – Biến cây thành tốt

Page 19: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 19

ĐƯỜNG ĐI BFS

Cho đồ thị có hƣớng gồm đỉnh và cung, và là hai đỉnh của . Một dãy các

đỉnh sao cho đƣợc gọi là một đƣờng đi

từ tới .

Biết rằng tồn tại ít nhất một đƣờng đi từ tới , hãy chỉ ra đƣờng đi đơn qua ít cung nhất. Nếu có

nhiều đƣờng đi đơn cùng qua ít cung nhất, hãy chỉ ra đƣờng đi có thứ tự từ điển nhỏ nhất trong

số đó.

Dữ liệu: vào từ tập tin văn bản BFS.INP

- Dòng 1 chứa số đỉnh , số cung , đỉnh xuất phát , đỉnh cần đến .

- dòng tiếp theo, mỗi dòng chứa hai số nguyên dƣơng thể hiện có cung nối từ đỉnh tới

đỉnh trong đồ thị.

Kết quả: ghi ra tập tin văn bản BFS.OUT các đỉnh theo đúng thứ tự trên đƣờng đi tìm đƣợc, bắt

đầu từ đỉnh , kết thúc ở đỉnh

ụ:

BFS.INP BFS.OUT

8 12 1 8

1 2

1 3

2 3

2 4

3 1

3 5

3 7

4 6

6 2

6 8

7 8

7 6

1 3 7 8

1

2 3

4 5

6

7

8

Page 20: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 20

CẦU PHAO

Mƣa to liên tục mấy ngày liền đã biến con suối ven làng thành một con sông thực sự. Để học

sinh có thể đi học an toàn ngƣời ta quyết định bắc tạm một cầu phao.Nguyên vật liệu làm cầu

đƣợc một công trƣờng gần đó cho mƣợn, bao gồm x súc

gỗ tròn độ dài a và y súc gỗ tròn độ dài b. Tất cả chúng

đều có cùng một bán kính.

Cầu phao phải đƣợc ghép từ m hàng gỗ. Mỗi hàng bao

gồm một hoặc một vài súc gỗ. Các súc gỗ phải đƣợc giữ

nguyên, không đƣợc cƣa ngắn.

Ngƣời ta muốn xây dựng cây cầu với độ rộng lớn nhất

có thể. Độ rộng của cầu đƣợc xác định bởi độ dài của

hàng nhỏ nhất.

Ví dụ, cầu cần xây dựng có 7 hàng và ta có 6 súc gỗ độ dài 3, mƣời súc gỗ độ dài 2, khi đó độ

rộng tối đa của cầu là 5.

Yêu cầu: Cho x, a, y, b và m, tất cả đều nguyên và có giá trị không vƣợt quá 150. Tổng số lƣợng

các súc gỗ không ít hơn m. Hãy xác định độ rộng tối đa của cây cầu.

Dữ liệu: Vào từ file văn bản BRIDGE.INP, gồm dòng chứa 5 số nguyên x, a, y, b và m.

Kết quả: Đƣa ra file văn bản BRIDGE.OUT một số nguyên – độ rộng tối đa của cây cầu.

Ví dụ:

BRIDGE.INP BRIDGE.OUT

6 3 10 2 7 5

Page 21: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 21

CẦU KHỈ

Page 22: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 22

SỐ Ô ĐEN TRÊN BÀN CỜ

Một bàn cờ gồm dòng, cột, các dòng và cột đƣợc đánh thứ tự

từ 1 (hình minh họa). Mỗi ô đƣợc sơn đen hoặc trắng đan xen

nhau tƣơng tự bàn cờ vua. Ô ở dòng cột

của bàn cờ đƣợc sơn màu đen. Hãy xác định có bao

nhiêu ô đƣợc sơn màu đen.

Dữ liệu: vào từ tập tin văn bản BCELLS.INP chứa bốn số

nguyên trên cùng dòng và cách nhau khoảng trắng

Kết quả: ghi ra tập tin văn bản BCELLS.OUT số ô đƣợc sơn màu đen.

Ví dụ:

BCELLS.INP BCELLS.OUT

4 5 3 4 10

1 2 3 4 5

1

2

3

4

Page 23: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 23

SỐ ĐẸP Một số nguyên dƣơng đƣợc gọi là số đẹp nếu tổng các chữ số của nó (trong hệ thập phân) chia

hết cho số chữ số. Các số đƣợc xét không chứa số 0 không có nghĩa. Ví dụ, 15 là một số đẹp vì

1+5 chia hết cho 2.

Các số đẹp đƣợc đánh số từ 1 trở đi theo thứ tự tăng dần của giá trị.

Yêu cầu: Cho số nguyên dƣơng n (1 ≤ n ≤ 100 000). Hãy tìm số đẹp thứ n.

Dữ liệu: Vào từ file văn bản BEAUTY.INP gồm nhiều tests, mỗi test ghi trên một dòng chứa

một số nguyên n.

Kết quả: Đƣa ra file văn bản BEAUTY.OUT, kết quả mỗi test đƣa ra trên một dòng.

Ví dụ:

BEAUTY.INP BEAUTY.OUT

1

15

1

20

Page 24: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 24

XÂU KÝ TỰ NGOẶC Xét xâu chỉ chứa các ký tự ngoặc tròn (, ), ngoặc vuông [, ] và ngoặc nhọn {, }. Để ngắn gọn, ta

gọi nó là xâu ngoặc.

Định nghĩa xâu ngoặc đúng:

Xâu rỗng đƣợc coi là xâu ngoặc đúng,

Nếu a là xâu ngoặc đúng thì (a), [a], {a} cũng là các xâu ngoặc đúng,

Nếu a và b là các xâu ngoặc đúng thì ab cũng là xâu ngoặc đúng.

Cho xâu S độ dài n. Xâu sksk+1sk+2…sns1 s2…sk-1 đƣợc gọi là xâu đẩy vòng của S. Bản thân S

cũng là một xâu đẩy vòng của S.

Yêu cầu: Cho xâu ngoặc S có độ dài không quá 1000. Hãy xác định có tồn tại một xâu đẩy vòng

của S là xâu ngoặc đúng hay không và đƣa ra câu trả lời Yes hoặc No.

Dữ liệu: Vào từ file văn bản BRACKETS.INP gồm một dòng chứa xâu S.

Kết quả: Đƣa ra file văn bản BRACKETS.OUT câu trả lời Yes hoặc No.

Ví dụ:

BRACKETS.INP BRACKETS.OUT

}{}(){ Yes

Page 25: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 25

KHÔI PHỤC NGOẶC Một dãy dấu ngoặc hợp lệ là một dãy các ký tự "(" và ")" đƣợc định nghĩa nhƣ sau:

- Dãy rỗng (không có ký tự nào) là một dãy dấu ngoặc hợp lệ

- Nếu A là một dãy dấu ngoặc hợp lệ thì (A) là dãy dấu ngoặc hợp lệ. Dấu ngoặc mở và dấu

ngoặc đóng hai bên dãy A đƣợc gọi là tƣơng ứng với nhau

- Nếu A và B là hai dãy dấu ngoặc hợp lệ thì AB là dãy dấu ngoặc hợp lệ.

Ví dụ: ((()))(())()() là một dãy dấu ngoặc hợp lệ. các dấu mở ngoặc ở các vị trí: 1, 2, 3, 7, 8, 11,

13 tƣơng ứng lần lƣợt với các dấu đóng ngoặc ở các vị trí: 6, 5, 4, 10, 9, 12, 14.

Ban đầu có một dãy dấu ngoặc hợp lệ, ngƣời ta viết vào dƣới mỗi dấu ngoặc mở một số là số dấu

ngoặc (cả đóng và mở) nằm giữa dấu ngoặc mở đó và dấu ngoặc đóng tƣơng ứng:

( ( ( ) ) ) ( ( ) ) ( ) ( )

4 2 0 2 0 0 0

Sau đó xoá đi dãy ngoặc.

Yêu cầu: cho biết dãy số còn lại, hãy khôi phục lại dãy ngoặc ban đầu

Dữ liệu: vào từ tập tin văn bản BRACKETS.INP

- Dòng 1: Ghi số là số phần tử của dãy số còn lại

- Dòng 2: Ghi lần lƣợt các số trong dãy

Kết quả: xuất ra tập tin văn bản BRACKETS.OUT dãy dấu ngoặc khôi phục đƣợc.

Ví dụ:

BRACKETS.INP BRACKETS.OUT

7

4 2 0 2 0 0 0

((()))(())()()

Page 26: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 26

LỊCH BYTELAND

Xứ sở Byteland sử dụng lịch tƣơng tự với dƣơng lịch của Trái Đất. Mỗi năm ở Byteland có

tháng bắt đầu từ tháng 1. Tháng chẵn có 30 ngày và tháng lẻ có 31 ngày, nhƣ vậy tháng 1 có 31

ngày, tháng 2 có 30, tháng 3 có 31 ngày, …

Mỗi tuần ở Byteland có 7 ngày: thứ 1, thứ 2, thứ 3, thứ 4, thứ 5, thứ 6 và thứ 7.

Yêu cầu: cho biết ngày đầu năm mới ở Byteland là thứ trong tuần. Hãy xác định

ngày tháng ở Byteland là thứ mấy trong tuần.

Dữ liệu: vào từ tập tin văn bản CALENDAR.INP

- Dòng đầu tiên chứa số nguyên dƣơng .

- Dòng tiếp theo chứa hai số nguyên cách nhau khoảng

trắng là một ngày hợp lệ ở NDPlanet.

Kết quả: ghi ra tập tin văn bản CALENDAR.OUT một số nguyên là kết quả tìm đƣợc.

Ví dụ:

CALENDAR.INP CALENDAR.OUT

3

10 1

5

Page 27: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 27

HỘP KẸO

Đến mừng sinh nhật, một ngƣời bạn mang gói quà đến, đặt cẩn thận giữa bàn. Khi mở ra mọi

ngƣời đều trầm trồ thán phục: quá ngon và đẹp. Các viên bi sô cô la đƣợc xếp thành một hình

chóp tứ diện đều. Mọi ngƣời đều đồng ý với ý kiến của bạn chủ nhà: ”Còn hấp dẫn hơn cả kim

tự tháp Giza!”. Đáy của tứ diện đều là một tam giác đều lắp ráp từ các viên sô cô la. Mỗi lớp tiếp

theo ở trên cũng là một tâm

giác đều với cạnh ít hơn một

viên.

Bỗng một bạn nam, nổi tiếng là

tinh nghịch, kêu lên “Ai đấy?

Sao đến muộn thế!”. Trong khi

mọi ngƣời quay ra phía cửa chờ

đợi, bạn nam này bốc và ăn hết

các viên ở một số lớp trên của

tứ diện. Trò tinh quái này lập tức bị phát hiện. Mọi ngƣời lao vào “tay non faireplayer” để trừng

phạt. Kết quả là bàn tiệc bị chao đảo, khối kẹo (bây giờ chỉ còn là hình

chóp cụt) tóe ra, các viên kẹo lăn lung tung khắp nơi. Tất cả tập trung

vào việc đi tìm và nhặt kẹo. Số viên kẹo tìm lại đƣợc là n. Không ai

biết là có còn sót viên nào hay không. Mọi quyết định sẽ kiểm tra bằng

cách xếp chúng lại thành hình chóp cụt tứ diện đều. Nếu xếp đƣợc – có

thể yên tâm là đã nhặt đủ.

Yêu cầu: Cho số nguyên n ( 0 ≤ n ≤ 1017). Hãy xác định xem có thể

xếp đƣợc một hình chóp cụt tứ diện đều hay không.

Dữ liệu: Vào từ file văn bản CANDIES.INP gồm một dòng chứa số nguyên n.

Kết quả: Đƣa ra file văn bản CANDIES.OUT thông báo YES hoặc NO.

Ví dụ:

CANDIES.INP CANDIES.OUT

16 YES

Page 28: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 28

ĐUA XE Cũng nhƣ các bạn trẻ thời đại ngày nay, Rôn có rất nhiều ô tô đồ chơi. Điểm vƣợt trội duy nhất

là mọi ô tô của Rôn đều là loại xe điều khiển từ xa.

Rôn có thể tổ chức đua xe với các bạn cả ngày không chán. Trong số các dạng đua Rôn thich

nhất dạng đua theo đƣờng thẳng. Các đƣờng đua song song với nhau và kéo dài vô tận. Cuộc đua

cũng diễn ra cho đến khi Rôn thấy chán thì thôi.

Mỗi xe, khi xuất phát, nhận đƣợc một ƣu tiên riêng. Xe thứ i xuất phát ở vị trí cách đích xi và

chạy với tốc dộ vi không đổi. Các xe chạy thẳng theo cùng một hƣớng – xa dần khỏi đích xuất

phát. Theo lệnh xuất phát, các xe cùng bắt đầu chạy.

Cách đây không lâu lắm Rôn đƣợc trang bị thêm webcam. Rôn muốn quay lại những pha gay

cấn nhất của cuộc đua, đặc biệt là thời điểm khi lần đầu tiên có xe vƣợt nhau, tức là thời điểm có

2 xe cùng ở khoảng cách nhƣ nhau với vạch xuất phát. Tuy vậy, có thể rất lâu khi bắt đầu mới

có xe vƣợt nhau. Rôn quyết định tính ra thời điểm này để đặt webcam vào chế độ bật tự động.

Yêu cầu: Cho n, xi và vi (1 ≤ xi, vi ≤ 1 000, i = 1 ÷ n, 2 ≤ n ≤ 100). Hãy xác định với độ

chính xác 5 chữ số sau dấu chấm thập phân thời điểm đầu tiên có xe vƣợt nhau. Dữ liệu đảm bảo

tồn tại lời giải.

Dữ liệu: Vào từ file văn bản CARS.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa 2 số nguyên xi và vi.

Kết quả: Đƣa ra file văn bản CARS.OUT một số thực – thời điểm đầu tiên có xe vƣợt nhau.

Ví dụ:

CARS.INP CARS.OUT

2

1 3

4 2

3.00000

Page 29: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 29

PHÒNG THỦ PHÁO ĐÀI Bức tƣờng của một pháo đài gồm n đoạn đƣợc đánh số từ 1 đến n. Có một cuộc tấn công vào

pháo đài nhƣ sau: Tại bức tƣờng thứ i thì có ai kẻ tấn công. Những ngƣời tham gia bảo vệ lâu đài

thì có các năng lực riêng của mình. Ở bức tƣờng thứ i mỗi ngƣời bảo vệ có khả năng đẩy lùi ki kẻ

tấn công. Giả sử đoạn thứ i có xi ngƣời phòng thủ. Khi đó nếu số lƣợng kẻ tấn công không vƣợt

quá đại lƣợng xi * ki, thì ở đoạn này không một kẻ tấn công nào có thể vƣợt qua. Ngƣợc lại sẽ có

(ai - xi*ki) kẻ tấn công lọt vào lâu đài.

Yêu cầu viết chƣơng trình phân bố ngƣời bảo vệ ở các đoạn tƣờng sao cho với s ngƣời bảo vệ thì

số lƣợng kẻ tấn công lọt vào lâu đài là nhỏ nhất.

Dữ liệu vào từ file văn bản CASTLE.INP

Dòng đầu tiên chứa số nguyên n số lƣợng đoạn tƣờng và s là số lƣợng ngƣời bảo vệ lâu

đài (1 ≤ n ≤ 105, 1 ≤ s ≤ 10

9).

Tiếp theo là n dòng chứa hai số nguyên ai, ki lần lƣợt là số lƣợng kẻ tấn công ở đoạn

tƣờng i và số lƣợng kẻ tấn công có thể đƣợc đẩy lùi bởi một ngƣời bảo vệ ở đoạn tƣờng

thứ i. (1 ≤ ai, ki ≤ 109).

Dữ liệu ra file văn bản CASTLE.OUT

Một số nguyên duy nhất - số lƣợng kẻ tấn công lọt vào lâu đài.

Ví dụ:

CASTLE.INP CASTLE.OUT

1 10

8 1

0

3 3

4 2

1 1

10 8

3

Page 30: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 30

BÀN CỜ Một bàn cờ gồm ô, mỗi ô vuông đƣợc sơn màu đen hoặc trắng đan xen nhau. Ô ở góc

dƣới bên trái bàn cờ đƣợc sơn màu đen. Hãy xác định có bao nhiêu ô đƣợc sơn màu đen trên bàn

cờ.

Dữ liệu: vào từ tập tin văn bản CHESSBOARD.INP 2 số nguyên dƣơng

Kết quả: ghi ra tập tin văn bản CHESSBOARD.OUT số ô vuông đƣợc sơn màu đen

Ví dụ:

CHESSBOARD.INP CHESSBOARD.OUT

3 4 6

Page 31: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 31

SÔ CÔ LA

Một loại sô cô la mới đƣợc bày bán ở cửa hàng địa phƣơng. Sô cô la đƣợc sản xuất dƣới dạng

tấm, loại 1 ô, 2 ô, 4 ô, 8 ô, . . . tức là số ô có dạng 2m. Với m chẵn tấm sô cô la có hình vuông, với

m lẻ - hình chữ nhật, một cạnh dài gấp đôi cạnh kia.

Steve rất thích loại sô cô la mới này và nghĩ

rằng mình phải ăn đủ k ô mới cảm nhận đƣợc

hết vị ngon của nó. Steve bẻ tấm sô cô la để lấy

đúng k miếng. Phần còn thừa (nếu có) – chia

cho ngƣời bạn thân của mình.

Để tránh nhầm lẫn Steve luôn bẻ đôi tấm sô cô

la hoặc phần xuất hiện sau mỗi lần bẻ.

Ví dụ, với k = 5, Steve sẽ mua tấm sô cô la có 8 miếng và sau 3 lần bẻ sẽ lấy đƣợc cho mình

đúng 5 miếng.

Yêu cầu: Cho số nguyên k (1 ≤ k ≤ 106). Hãy xác định tấm sô cô la nhỏ nhất cần mua và số lần

bẻ.

Dữ liệu: Vào từ file văn bản CHOCO.INP gồm một dòng chứa số nguyên k.

Kết quả: Đƣa ra file văn bản CHOCO.OUT hai số nguyên – diện tích tấm sô cô la và số lần bẻ.

Ví dụ:

CHOCO.INP CHOCO.OUT

5

8 3

Page 32: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 32

RẠP CHIẾU BÓNG

Thành phố khai trƣơng một rạp chiếu bóng mới. Các bạn trẻ háo hức mua vé đến dự buổi chiếu

phim khai mạc. Mỗi vé vào cửa đƣợc tặng kèm một lon nƣớc giải khát. Hàng mà Steve ngồi có n

ghế và tất cả đều có ngƣời ngồi. Có những ngƣời đi một mình, nhƣng cũng có đôi yêu nhau cùng

đi và ngồi ở 2 ghế cạnh nhau trong hàng. Ở hai đầu của hàng cũng nhƣ giữa 2 ghế có lắp giá để

khách đặt lon nƣớc giải khát của mình, nhƣng giữa 2 ghế của các đôi yêu nhau giá để bị tháo

xuống, vì vậy có thể có ngƣời không có chổ để lon nƣớc xuống giá cạnh ghế của mình.

Ví dụ, hàng có 9 ghế và những ngƣời ngồi trong hàng đƣợc xác định bởi xâu “SLLLLSSLL”,

trong đó “S” là ngƣời đi một mình, “L” là ngƣời đi theo cặp. Nếu ký hiệu dấu “*” là giá để lon

thì trạng thái của hàng sẽ là “*S*LL*LL*S*S*LL*”. Nhƣ vậy, ít nhất có 2 ngƣời không có chổ

để lon nƣớc cạnh ghế của mình.

Hãy xác định số lƣợng tối đa những ngƣời có thể để lon nƣớc cạnh ghế của mình.

Dữ liệu: Vào từ file văn bản CINEMA.INP:

Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 50),

Dòng thứ 2 chứa xâu độ dài n mô tả những ngƣời ngồi trong hàng.

Kết quả: Đƣa ra file văn bản CINEMA.OUT một số nguyên – số lƣợng tối đa những ngƣời có

thể để lon nƣớc cạnh ghế của mình.

Ví dụ:

CINEMA.INP CINEMA.OUT

9

SLLLLSSLL

7

Page 33: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 33

GIAO THÔNG THÀNH PHỐ Sơ đồ giao thông của một thành phố có dạng một lƣới ô vuông m dòng và n cột(m, n ≤ 200).

Các dòng đƣợc đánh số từ 1 đến m từ trên xuống dƣới, các cột đƣợc đánh số từ 1 đến n từ trái

sang phải. Nút nằm trên giao của dòng i và cột j có tọa độ là (i,j). Các nút của lƣới tƣơng ứng

với các nút giao thông, còn các cạnh của các ô vuông tƣơng ứng với các đoạn đƣờng phố. Mỗi

nút giao thông (i,j) có độ cao A[i,j] ( A[i,j] là số nguyên dƣơng không vƣợt quá 32767 ). Từ một

nút giao thông chỉ có thể di chuyển đến nút kề cạnh với nó. Đi từ một nút có độ cao nhỏ hơn đến

nút có độ cao lớn hơn ta mất một chi phí bằng hiệu độ cao của hai nút đó. Còn đi từ nút có độ

cao lớn hơn đến nút có độ cao nhỏ hơn hoặc bằng nó thì không mất một khoản chi phí nào.

Yêu cầu : Cho hai nút giao thông trên bản đồ, hãy tìm cách đi từ nút xuất phát đến nút đích sao

cho chi phí phải trả là ít nhất.

Dữ liệu : Vào từ file văn bản CITY.INP

Dòng 1 là kích thƣớc bản đồ với hai số nguyên dƣơng m, n.

Dòng 2 chứa hai số nguyên dƣơng x1, y1 (1≤x1≤m, 1≤y1≤n) là tọa độ của nút xuất phát .

Dòng 3 chứa hai số nguyên dƣơng x2, y2 (1≤x2≤m, 1≤y2≤n) là tọa độ nút đích.

Dòng thứ i trong số m dòng tiếp theo chứa n số nguyên dƣơng là các độ cao của các nút trên

dòng i của lƣới (1≤ i≤ m).

Kết quả : Ghi ra file văn bản CITY.OUT một số nguyên dƣơng là chi phí nhỏ nhất tìm đƣợc.

Ví dụ :

CITY.INP CITY.OUT

3 4

1 1

3 3

4 3 2 1

3 3 4 5

7 9 6 4

3

Page 34: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 34

MÃ HÓA ĐA LỚP Trong mật mã học, một ngành toán học ứng dụng cho công nghệ thông tin, mã hóa là phƣơng

pháp để biến thông tin (phim ảnh, văn bản, hình ảnh...) từ định dạng bình thƣờng sang dạng

thông tin không thể hiểu đƣợc nếu không có phƣơng tiện giải mã. Giải mã là phƣơng pháp để

đƣa từ dạng thông tin đã đƣợc mã hóa về dạng thông tin ban đầu, quá trình ngƣợc của mã hóa.

Một hệ thống mã hóa bao gồm các thành phần:

Thông tin trƣớc khi mã hóa, kí hiệu là P

Thông tin sau khi mã hóa, kí hiệu là C

Chìa khóa, kí hiệu là K

Phƣơng pháp mã hóa/giải mã, kí hiệu là E/D.

Quá trình mã hóa đƣợc tiến hành bằng cách áp dụng hàm toán học E lên thông tin P, vốn đƣợc

biểu diễn dƣới dạng số, để trở thành thông tin đã mã hóa C. Quá trình giải mã đƣợc tiến hành

ngƣợc lại: áp dụng hàm D lên thông tin C để đƣợc thông tin đã giải mã P. Trong lúc học môn

này ở trƣờng đại học, Nam nghĩ ra phƣơng pháp mã hóa mới nhƣ sau :

0. Mã hóa văn bản gồm n kí tự la tinh[A-Z], khoảng trắng, dấu chấm, dấy phẩy, dấu hai chấm,

dấu chấm phẩy, dấu nháy kép.

1. Mỗi kí tự của văn bản đƣợc biểu diễn dƣới dạng thập phân nhƣ sau:

<khoảng trắng>=0, A=1, B=2, C=3, ..., Y=25, Z=26, <dấu chấm>=27, <dấu phẩy>=28,

<dấu hai chấm>=29, <dấu chấm phẩy>=30, <dấu nháy kép>=31.

2. Mỗi số dạng thập phân lại đƣợc biểu diễn một nhóm 5 số ở dạng nhị phân ,ví dụ :

A=1=00001, C=3=00011, M=13=01101.

3. Dãy số nhị phân nhận đƣợc do các số kết hợp với nhau đƣợc viết lại vào mảng hai chiều

kích thƣớc 5xn theo chiều từ trên xuống dƣới và từ trái sang phải, bắt đầu từ góc trên trái

(nhƣ hình bên dƣới). Ví dụ : Văn bản ACM sẽ biểu diễn thành dãy 000010001101101 với

độ dài 15 và đƣợc điền vào mảng hai chiều 5x3 nhƣ sau:

Page 35: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 35

0 0 0

0 0 1

0 0 1

0 1 0

1 1 1

5. Từ các bít của mảng ta viết theo từng dòng từ trái sang phải, từ trên xuống dƣới, bắt đầu từ

góc trên trái, ta sẽ đƣợc dãy số nhị phân mới. Ví dụ trên sẽ có dãy nhị phân mới nhƣ sau

000001001010111. Sau đó ta nhóm dãy nhị phân mới nhận đƣợc thành từng nhóm 5 bit,

bắt đầu từ trái sang phải của dãy nhị phân. Với mỗi nhóm 5 bit ở hệ đếm nhị phân ta

chuyển về hệ đếm thập phân và xem chúng tƣơng ứng với kí tự nào ở mục 1 thì lần lƣợt

viết ra theo thứ tự của nhóm 5 bit trong dãy. Chuỗi kí tự nhận đƣợc chính là đoạn mã hóa.

Ví dụ trên sẽ có đoạn mã hóa nhƣ sau:

000002=010=<khoảng trắng>, 100102=1810=R, 101112=2310=W.

Yêu cầu: Hãy thực hiện phƣơng pháp mã hóa này.

Dữ liệu: vào từ tập tin văn bản CODE.INP gồm một dòng chứa văn bản gồm các kí tự la tinh,

khoảng trắng, dấu chấm, dấy phẩy, dấu hai chấm, dấu chấm phẩy, dấu nháy kép. Văn bản dài

không quá 104 kí tự.

Kết quả: ghi ra tập tin văn bản CODE.OUT ghi chuỗi kí tự nhận đƣợc từ kết quả mã hóa.

Các tập tin dữ liệu mẫu:

CODE.INP CODE.OUT

ACM

RW

Page 36: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 36

CÁC ĐỒNG XU Steve ngồi bên cửa sổ rất lâu quan sát lũ quạ. Chúng là loài chim thông minh, rất thích các vật

lóng lánh và hay tha những thứ này về tổ. Hôm nay, không biết kiếm đƣợc ở đâu, chúng tha về

các đồng xu. Có tất cả n con quạ. Con quạ thứ i đã mang về ai đồng xu. Nhìn vào vị trí của tổ

trên cành Steve hiểu rằng nếu có bi thì tổ của quạ thứ i sẽ bị lật, rơi xuống đất và Steve sẽ nhặt

đƣợc hết xu trong tổ. Steve đang có trong túi m đồng xu và có tài ném đâu trúng đó. Bây giờ

chính là lúc cái tài lẻ này phát huy tác dụng.

Yêu cầu: Hãy xác định số tiền tối đa mà Steve sẽ có đƣợc.

Dữ liệu: Vào từ file văn bản COINS.INP:

Dòng đầu tiên chứa 2 số nguyên n và m (1 ≤ n ≤ 1 000, 0 ≤ m ≤ 1 000),

Dòng thứ 2 chứa n số a1, a2, . . ., an (0 ≤ ai ≤ 1 000, i = 1 ÷ n),

Dòng thứ 3 chứa n số b1, b2, . . ., bn (ai < bi ≤ 1 000, i = 1 ÷ n).

Kết quả: Đƣa ra file văn bản COINS.OUT một số nguyên – số tiền tối đa mà Steve sẽ có.

Ví dụ:

COINS.INP COINS.OUT

2 3

1 2

4 6

6

Page 37: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 37

LẮP RÁP MÁY TÍNH

Trong chƣơng trình Chính phủ điện tử một cơ quan đƣợc trang bị một số khối hệ thống và cũng

chừng ấy màn hình. Nhƣng khi dự thảo hợp đồng, không có ai để ý đến việc màn hình có thể có

giao diện VGA hoặc DVI, các khối hệ thống có thể làm việc với loại giao diện này hay giao diện

khác hoặc cả hai.

Công ty giao hàng cũng không thật thiện ý. Họ chuyển tới a1 khối hệ thống chỉ hỗ trợ giao diện

VGA, a2 khối – hỗ trợ giao diện DVI và a3 khối – hỗ trợ đồng thời cả hai loại giao diện trên. Với

màn hình, tình hình cũng tƣơng tự: có b1 màn hình lắp card VGA, b2 màn hình lắp card DVI và

b3 màn hình làm việc đƣợc với cả 2 loại giao diện. Dĩ nhiên a1 + a2 + a3 = b1 + b2 + b3.

Một máy tính có thể lắp ráp đƣợc khi khối hệ thống hỗ trợ giao diện tƣơng ứng của màn hình.

Yêu cầu: Xác định số máy tính có thể lắp ráp đƣợc.

Dữ liệu: Vào từ file văn bản COMPUTER.INP:

Dòng thứ nhất chứa 3 số nguyên a1, a2 và a3 (0 ≤ a1, a2, a3 ≤ 100),

Dòng thứ hai chứa 3 số nguyên b1, b2 và b3 (0 ≤ b1, b2, b3 ≤ 100).

Kết quả: Đƣa ra file văn bản COMPUTER.OUT một số nguyên – kết quả tìm đƣợc.

Ví dụ:

COMPUTER.INP COMPUTER.OUT

3 4 6

2 11 0

12

Page 38: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 38

ĐIỀU HÕA NHIỆT ĐỘ

Văn phòng nơi Steve làm việc đƣợc trang bị một điều hòa nhiệt độ loại mới với thiết bị điều

khiển hết sức đơn giản, quản lý 2 tham số: nhiệt độ và chế độ làm việc. Máy có 4 chế độ làm

việc:

“freeze” – làm lạnh. Chỉ giảm nhiệt độ. Nếu nhiệt độ phòng không cao hơn nhiệt độ đặt

thì máy tắt.

“heat” – làm nóng. Chỉ tăng nhiệt độ. Nếu nhiệt độ phòng không thấp hơn nhiệt độ đặt

thì máy tắt.

“auto” – tự động. Có thể tăng hoặc giảm nhiệt độ cho đến mức đã đặt.

“fan” – quạt gió. Không làm thay đổi nhiệt độ, trong phòng.

Máy điều hòa có công suất lớn nên nếu đặt chế độ hợp lý thì chỉ cần một giờ là nhiệt độ đã đạt

đến mức cần thiết.

Yêu cầu: Cho nhiệt độ trong phòng tr, nhiệt độ chọn trên điều khiển td, chế độ làm việc s – xâu

chỉ chứa các ký tự la tinh thƣờng. Hãy xác định nhiệt độ của phòng sau một tiếng đồng hồ.

Dữ liệu: Vào từ file văn bản COND.INP:

Dòng đầu tiên chứa 2 số nguyên tr và td (-50 ≤ tr, td ≤ 50),

Dòng thứ 2 chứa xâu s.

Kết quả: Đƣa ra file văn bản COND.OUT một số nguyên – nhiệt độ của phòng sau một tiếng

đồng hồ.

Ví dụ:

COND.INP COND.OUT

10 20

freeze

10

Page 39: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 39

CÁC THÀNH PHẦN LIÊN THÔNG

Cho đồ thị vô hƣớng gồm đỉnh và cạnh. Hãy liệt kê các thành phần liên thông

của đồ thị.

Dữ liệu: vào từ tập tin văn bản CONNECT.INP

- Dòng 1 chứa hai số nguyên dƣơng

- dòng tiếp theo mỗi dòng chứa hai số nguyên dƣơng thể hiện có cạnh nối từ đỉnh tới

đỉnh trong đồ thị.

Kết quả: ghi ra tập tin văn bản CONNECT.OUT gồm nhiều dòng, mỗi dòng liệt kê các đỉnh

thuộc một thành phần liên thông.

ụ:

CONNECT.INP CONNECT.OUT

12 10

1 4

2 3

3 6

4 5

6 7

8 9

8 10

9 11

11 8

11 12

1 4 5

2 3 6 7

8 9 10 11 12

1

4 5

2

6 7

3

9

11 12

10

8

Page 40: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 40

DÃY LIÊN TIẾP

Gọi là số chữ số của số nguyên dƣơng . Ta viết một dãy các số nguyên liên tiếp bắt đầu từ

, nghĩa là ta có dãy Biết rằng, khi thêm số nguyên vào dãy thì ta sẽ phải

tốn một chi phí là . Chẳng hạn với và thì dãy gồm phần tử:

sẽ tốn chi phí .

Yêu cầu: cho biết chiều dài lớn nhất của dãy gồm các số nguyên liên tiếp bắt đầu từ và với chi

phí ban đầu .

Dữ liệu: vào từ tập tin văn bản CONSEQ.INP gồm 3 số nguyên dƣơng ,

,

Kết quả: xuất ra tập tin văn bản CONSEQ.OUT gồm 1 số nguyên dƣơng là chiều dài lớn nhất

của dãy tạo đƣợc.

Ví dụ:

CONSEQ.INP CONSEQ.OUT

9 1 1 9

Page 41: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 41

BAO LỒI

Cho n điểm có độ nguyên trên mặt phẳng. Điểm thứ i có tọa độ (xi, yi) (i = 1 ÷ n, |xi|, |yi| ≤ 109, 3

≤ n ≤ 105), không có điểm nào trùng nhau và có ít nhất 3 điểm không thẳng hàng.

Ngƣời ta xây dựng bao lồi đối với các điểm đã cho, có nghĩa là xác định đa giác lồi diện tích nhỏ

nhất chứa các điểm đã cho.

Yêu cầu: Hãy xác định số điểm có tọa độ nguyên nằm hoàn toàn trong bao lồi (tức là không tính

các điểm trên biên).

Dữ liệu: Vào từ file văn bản CONVEX.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa 2 số nguyên xi và yi.

Kết quả: Đƣa ra file văn bản CONVEX.OUT một số nguyên – số lƣợng điểm tìm đƣợc.

Ví dụ:

CONVEX.INP CONVEX.OUT

5

1 1

1 4

5 4

5 1

2 2

6

Page 42: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 42

BỎNG NẾP

Công ty bánh kẹo IOI chuyên sản xuất bánh Chà lam, làm từ bỏng nếp, mật mía và nƣớc gừng.

Gạo nếp đƣợc rang thành bỏng theo kiểu truyền thống, dùng than củi. Tuy quy trình rang là

truyền thống, nhƣng quá trình rang đã đƣợc tự động hóa.

Máy rang có R×C hộp dẹt, lắp thành R hàng, mỗi hàng có C hộp đựng gạo nếp. Định kỳ, tất cả

các hộp đƣợc trở mặt để tiếp cận với lửa than bên dƣới. Trong một ca sản xuất, động đất xẩy ra.

Một số hộp bị lật mặt. Thiết bị lập tức chuyển sang chế độ điều khiển bằng tay. Ở mỗi hàng và

mỗi cột có một cần gạt. Mỗi lần kéo cần tất cả các hộp

trong hàng (hoặc cột) bị lật mặt. Ở hình bên, các mặt trên

của hộp là xanh. Sau động đất, một số hộp lật mặt đỏ lên.

Bằng các thao tác kéo cần nhƣ trên hình vẽ thì chỉ còn một

hộp không lật đƣợc đúng mặt. Bỏng ở trong đó sẽ không đủ

tiêu chuẩn để sản xuất bánh.

Yêu cầu: Cho R, C và ma trận R×C các phần tử {0, 1}. Số 1

ký hiệu hộp tƣơng ứng bị lật do động đất. Hãy xác định số

hộp tối đa cho sản phẩm đạt chất lƣợng nếu công nhân trực

thao tác chỉnh lý bằng tay tốt.

Dữ liệu: Vào từ file văn bản CRACKERS.INP:

Dòng đầu tiên chứa 2 số nguyên R và C (1 ≤ R ≤

10, 1 ≤ C ≤ 105),

Mỗi dòng trong R dòng sau chứa C số nguyên trong

tập {0, 1} mô tả một hàng của máy rang.

Kết quả: Đƣa ra file văn bản CRACKERS.OUT một số

nguyên – số hộp cho thành phẩm tốt.

Ví dụ:

CRACKERS.INP CRACKERS.OUT

2 5

0 1 0 1 0

1 0 0 0 1

9

Page 43: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 43

VƯỢT SUỐI

Thanh niên trong làng có một trò chơi khá nguy hiểm – nhảy từ tảng đá này sang tảng đá khác để

vƣợt qua con suối ở đầu làng. Có thể vẽ một lƣới ô

vuông n dòng để mỗi ô có không quá một tảng đá. Từ

bờ xuất phát ngƣời chơi phải nhảy trên các tảng đá để

sang bờ bên kia. Có hai các nhảy: nhảy đơn và nhảy

cách. Nhảy đơn là bƣớc nhảy từ một tảng đá ở dòng i

sang tảng đá khác ở dòng i+1, nhảy cách là bƣớc

nhảy từ tảng đá dòng i sang tảng đá dòng i+2. Số

lƣợng bƣớc nhảy cách không đƣợc vƣợt quá m. Bờ

xuất phát và bờ đích có thể coi tƣơng ứng là hàng 0 và

hàng n+1.

Mỗi tảng đá có một độ trơn. Độ nguy hiểm của bƣớc

nhảy đƣợc tính theo công thức:

(Độ trơn của tảng đá hiện tại+Độ trơn của tảng đá

tới)×Độ rộng bước nhảy

Độ rộng bƣớc nhảy là giá trị tuyệt đối hiệu hai cột của tảng đá hiện tại và tảng đá tới. Độ nguy

hiểm của bƣớc nhảy từ bờ xuất và của bƣớc nhảy từ tảng đá tới bờ đích là bằng 0. Cách nhảy

nêu ở hình trên có độ nguy hiểm là (2+2)×1+(2+1)×1+(1+4)×2= 17.

Yêu cầu: Cho n, m, vị trí và độ trơn mỗi hòn đá. Hãy tính độ nguy hiểm nhỏ nhất để vƣợt suối.

Dữ liệu đảm bảo có đƣờng nhảy.

Dữ liệu: Vào từ file văn bản CROSS.INP:

Dòng đầu tiên chứa 2 số nguyên n và m (2 ≤ n ≤ 150, 0 ≤ m ≤ 2

1n),

Dòng thứa i trong n dòng sau chứa thông tin về các tảng đá trên dòng i: số nguyên ki –

số tảng đá và ki cặp số nguyên: số thứ nhất – cột chứa đá và số thứ 2 – độ trơn (1 ≤ ki ≤

10, cột và độ trơn – trong khoảng từ 1 đến 1000).

Kết quả: Đƣa ra file văn bản CROSS.OUT một số nguyên – độ nguy hiểm nhỏ nhất tìm đƣợc.

Ví dụ:

CROSS.INP CROSS.OUT

5 1

2 1 3 2 2

1 3 2

1 1 7

1 2 1

1 4 4

17

Page 44: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 44

ĐƯỜNG THỦY

JOI là đất nƣớc có n hòn đảo, đánh số từ 1 đến n. Hệ thống giao thông đƣờng thủy của JOI hết

sức phát triển và ngƣời dân cũng thƣờng xuyên đi lại bằng tàu.

Bạn làm việc ở Trung tâm thông tin, có nhiệm vụ trả lời cho hành khách biết giá rẻ nhất khi

muốn đi từ đảo a tới đảo b. Khi có một hành trình trình mới xuất hiện, bạn cũng nhận đƣợc

thông tin hai đảo nối hành trình này và giá vé (hành trình là 2 chiều và giá vé nhƣ nhau với mỗi

chiều). Bạn phải thƣờng xuyên cập nhật thông tin để có câu trả lời chính xác.

Yêu cầu: Cho số nguyên n – số đảo, k – số dòng thông tin tới Trung tâm thông tin (1 ≤ n ≤ 100,

1 ≤ k ≤ 5000). Mỗi dòng thông tin có một trong 2 dạng:

0 a b – câu hỏi về giá vé của hành khách muốn đi từ đảo a tới đảo b,

1 c d e – thông báo có tuyến tàu mới giữa c và d, chi phí một chiều là e (c ≠ d, 1 ≤ e ≤

106).

Với mỗi câu hỏi – đƣa ra giá vé rẻ nhất hoặc số -1 nếu không có tàu.

Dữ liệu: Vào từ file văn bản CRUISE.INP:

Dòng đầu tiên chứa 2 số nguyên n và k,

Mỗi dòng trong k dòng sau chứa một dòng thông tin tới Trung tâm.

Kết quả: Đƣa ra file văn bản CRUISE.OUT với mỗi câu hỏi về giá vé đƣa ra một số nguyên trên

một dòng riêng.

Ví dụ: CRUISE.INP CRUISE.OUT

3 8

1 3 1 10

0 2 3

1 2 3 20

1 1 2 5

0 3 2

1 1 3 7

1 2 1 9

0 2 3

-1

15

12

Page 45: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 45

CẮT VẢI

Cậu bé giúp việc của họa sỹ nổi tiếng học đƣợc nhiều thứ trong quá trình phục vụ. Một hôm, cậu

cũng nổi máu họa sỹ và cũng muốn để lại một cái gì đó cho hậu thế. Họa sỹ làm việc vào đên,

còn ban ngày ngủ. Lợi dụng lúc họa sỹ ngủ, cậu bé mang

tấm vải nền hình vuông cho bức tranh tƣơng lai của họa

sỹ ra vẽ. Nhƣng tấm vải quá lớn, cậu cắt bớt chiều rộng

một dẻo chữ nhật độ rộng a. Phần còn lại của tấm vải nền

vẫn còn quá cao. Biết sức mình chỉ vẽ đƣợc trên diện tích

S, cậu tính toán và cắt bớt một phần độ cao b. Những tính

toán đó đƣợc ghi lại trên giấy. Sau khi có tấm nền ƣng ý,

cậu bỏ khá nhiều công sức để có một tác phẩm đáng để

treo trong viện bảo tàng nghệ thuật bất kỳ. Hài lòng với

thành quả dạtđƣợc, cậu bỏ ra phố chơi.

Khi họa sỹ tỉnh dậy, ông thấy ngay điều khủng khiếp gì đã xẩy ra. Là một ngƣời từng trải, ông đã

quá quen với mọi sự cố trong đời. Ông quyết định đi mua tấm vải nền mới giống tấm cũ. Dựa

vào số liệu để lại ông phải tính ra kích thƣớc của tấm nền. Điều đáng lo là ngoài cửa hiệu chỉ bán

các tấm nền kích thƣớc nguyên. Vả lại, số liệu mà cậu bé để lại cũng chắc gì đã chính xác!

Yêu cầu: Với các số liệu a, b, S, hãy xác định xem có đáng ra phố tìm mua tấm vải nền in hệt

nhƣ cũ hay không. Nếu có – đƣa ra kích thƣớc L của tấm vải, trong trƣờng hợp ngƣợc lại – đƣa

ra số -1.

Dữ liệu: Vào từ file văn bản CUT.INP gồm một dòng chứa 3 số nguyên a, b và S (0 ≤ a, b ≤

104, 1 ≤ S ≤ 10

8).

Kết quả: Đƣa ra file văn bản CUT.OUT một số nguyên – kết quả tìm đƣợc.

Ví dụ:

CUT.INP CUT.OUT

2 3 12 6

Page 46: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 46

NGÀY THÁNG

Ban tổ chức cuộc thi Robotcon yêu cầu trên robot dự thi phải có màn hình báo ngày tháng theo

quy cách” DD.MM.YYYY”. Ví dụ, nếu hôm nay là ngày 2 tháng hai năm 2009 thì trên màn

hình phải hiện thông báo 02.02.2009

Các bạn trong đội thi đã lắp đặt đƣợc bộ phận báo ngày, nhƣng thiết bị hiển thị số chƣa thật hoàn

thiện, còn một vài chữ số chƣa bật đƣợc. Nhƣ vậy, một số ngày tháng sẽ không hiển thị đƣợc. Ví

dụ, nếu thiết bị điện tử mới biểu diễn đƣợc các chữ số 0, 2 và 9 thì có thể hiển thị đƣợc ngày

mồng 2 tháng 2 năm 2009, nhƣng không hiển thị đƣợc ngày mồng 3 tháng 2 năm 2009.

Khoảng thời gian dự kiến diễn ra cuộc thi đã đƣợc công bố. Mọi ngƣời muốn biết, với tình trạng

hiện nay, trong khoảng thời gian đó có bao nhiêu ngày robot hiển thị đƣợc đúng ngày tháng.

Yêu cầu: Cho biết số nguyên n – số chữ số hiển thị đƣợc và danh sách các chữ số này, biết ngày

đầu và cuối. Hãy xác định số ngày robot hiển thị đƣợc đúng (lƣu ý có thể có năm nhuận).

Dữ liệu: Vào từ file văn bản DATES.INP:

Dòng đầu tiên chứa số nguyên n 0 ≤ n ≤ 10),

Dòng thứ 2 chứa n chữ số hiển thị đƣợc, các chữ số cách nhau một dấu cách,

Hai dòng cuối chứa hai ngày tháng xác định ngày đầu và ngày cuối, năm không vƣợt quá

4 chữ số.

Kết quả: Đƣa ra file văn bản DATES.OUT một số nguyên – số ngày hiển thị đƣợc.

Ví dụ:

DATES.INP DATES.OUT

3

0 2 9

01.02.2009

28.02.2009

4

Page 47: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 47

ĐƯỜNG ĐI DFS

Cho đồ thị có hƣớng gồm đỉnh và cung, và là hai đỉnh của . Một dãy các

đỉnh sao cho đƣợc gọi là một đƣờng đi

từ tới . Một đƣờng đi gọi là đơn giản (hay đường đi đơn) nếu tất cả đỉnh trên đƣờng đi là hoàn

toàn phân biệt.

Biết rằng tồn tại ít nhất một đƣờng đi từ tới , hãy chỉ ra đƣờng đi đơn có thứ tự từ điển nhỏ

nhất.

Dữ liệu: vào từ tập tin văn bản DFS.INP

- Dòng 1 chứa số đỉnh , số cung , đỉnh xuất phát , đỉnh cần đến .

- dòng tiếp theo, mỗi dòng chứa hai số nguyên dƣơng thể hiện có cung nối từ đỉnh tới

đỉnh trong đồ thị.

Kết quả: ghi ra tập tin văn bản DFS.OUT các đỉnh theo đúng thứ tự trên đƣờng đi tìm đƣợc, bắt

đầu từ đỉnh , kết thúc ở đỉnh

ụ:

DFS.INP DFS.OUT

8 12 1 8

1 2

1 3

2 3

2 4

3 1

3 5

3 7

4 6

6 2

6 8

7 8

7 6

1 2 3 7 6 8

1

2 3

4 5

6

7

8

1 2

3

4

5

6 7

8

9

10

11

12

Page 48: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 48

ƯỚC SỐ

Cho n số nguyên dƣơng a1, a2, . . ., an (1 ≤ ai ≤ 1014

, i = 1 ÷ n, 1 ≤ n ≤50).

Với mỗi số đã cho hãy xác định hãy xác định số lƣợng ƣớc số của nó.

Ví dụ với n = 3, a1 = 4, a2 = 12, số lƣợng ƣớc số của 4 là 3 (1, 2, 4), số lƣợng ƣớc số của 12 là 6

(1, 2, 3, 4, 6, 12).

Dữ liệu: Vào từ file văn bản DIVISOR.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa số nguyên ai.

Kết quả: Đƣa ra file văn bản DIVISOR.OUT n số nguyên trên n dòng, dòng thứ i chứa số lƣợng

ƣớc số của ai.

Ví dụ:

DIVISOR.INP DIVISOR.OUT

2

4

12

3

6

Page 49: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 49

GIẢI MÃ SỐ Giả sử các chữ số từ 1 đến 9 đƣợc mã hoá dƣới dạng một chuỗi chỉ gồm các ký tự a, b và c theo

quy tắc sau:

Chữ số 1 2 3 4 5 6 7 8 9

Ví dụ số 132 sẽ mã hóa thành accb.

Yêu cầu: từ xâu ký tự cho trƣớc, hãy giải mã để tìm số nguyên dƣơng tƣơng ứng.

Dữ liệu: Vào từ file văn bản DECODE.INP xâu chứa không quá 100 ký tự a,b, c.

Kết quả: Đƣa ra file văn bản DECODE.OUT số tƣơng ứng hoặc -1 nếu xâu không tƣơng ứng với

một số nguyên nào.

Ví dụ:

DECODE.INP DECODE.OUT

abcac 129

Page 50: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 50

KHOẢNG CÁCH SỐ Ngƣời ta định nghĩa khoảng cách giữa 2 số nguyên dƣơng là tổng độ lệch của các chữ số

cùng hàng tƣơng ứng trên và . Chẳng hạn với và thì tổng độ lệch là

.

Yêu cầu: Cho 2 số nguyên dƣơng . Hãy tính khoảng cách giữa và theo

định nghĩa trên.

Dữ liệu: vào từ tập tin văn bản DIST.INP chứa hai số nguyên dƣơng trên cùng dòng cách

nhau khoảng trắng.

Kết quả: ghi ra tập tin văn bản DIST.OUT giá trị khoảng cách giữa .

Ví dụ:

DIST.INP DIST.OUT

2015 48 8

Page 51: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 51

LÂY NHIỄM EBOLA

Một cơ quan có nhân viên đƣợc đánh số thứ tự từ 1 đến . Mỗi ngƣời có một phòng làm việc riêng của

mình. Do nhu cầu công việc, hàng ngày mỗi nhân viên có thể phải tiếp xúc với một số nhân viên khác.

Vào một ngày làm việc bình thƣờng, có một nhân viên bị nhiễm bệnh Ebola, nhƣng do không biết nên

ngƣời này vẫn đi làm. Đến cuối ngày làm việc ngƣời ta mới phát hiện ra ngƣời nhiễm bệnh Ebola đầu

tiên, Khả năng lây lan của Ebola rất nhanh chóng: một ngƣời nhiễm bệnh nếu tiếp xúc với một ngƣời

khác có thể sẽ truyền bệnh cho ngƣời này.

Yêu cầu: Hãy giúp các bác sĩ kiểm tra xem cuối ngày hôm đó, có tối đa bao nhiêu ngƣời có thể sẽ nhiễm

bệnh và đó là những ngƣời nào để còn cách ly. Ngƣời có tiếp xúc với ngƣời nhiễm bệnh đƣợc coi là

ngƣời nhiễm bệnh.

Dữ liệu: vào từ tập tin văn bản EBOLA.INP

- Dòng đầu tiên ghi 2 số tự nhiên tƣơng ứng là số lƣợng ngƣời làm việc

trong toà nhà và số hiệu của nhân viên đã nhiễm Ebola đầu tiên.

- Dòng thứ trong dòng tiếp theo ghi danh sách những ngƣời có tiếp xúc với ngƣời thứ theo cách

sau: số đầu tiên của dòng là tổng số nhân viên đã gặp ngƣời thứ , tiếp theo là số tự nhiên lần

lƣợt là số hiệu của các nhân viên đó. Nếu có nghĩa rằng không ai đã tiếp xúc với ngƣời thứ .

- Dữ liệu đƣợc cho đảm bảo tổng số lần tiếp xúc của tất cả nhân viên trong cơ quan không vƣợt quá

Kết quả: ghi ra tập tin văn bản EBOLA.OUT

- Dòng đầu tiên ghi số là tổng số ngƣời có thể bị lây nhiễm Ebola

- Dòng thứ 2 liệt kê tất cả nhân viên có thể bị lây nhiễm Ebola cần cách ly, danh sách cần đƣợc sắp

theo thứ tự tăng dần của số hiệu nhân viên.

Ví dụ:

EBOLA.INP EBOLA.OUT

5 1

2 2 3

2 1 3

1 2

1 5

1 4

3

1 2 3

Page 52: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 52

BẦU CỬ Chính quyền đất nƣớc Metacity đang tổ chức lấy phiếu bầu cho ứng viên, đƣợc đánh thứ tự từ

1 đến . Megacity có thành phố và hệ thống bầu cử ở đất nƣớc này đƣợc chia thành 2 giai

đoạn khá lạ lùng nhƣ sau.

Giai đoạn đầu của đợt bầu cử, các lá phiếu chỉ tính cho từng thành phố, nghĩa là ứng viên đƣợc

cử tri của thành phố nào bỏ nhiều phiếu nhất sẽ chiến thắng tại thành phố đó. Nếu có nhiều ứng

viên cùng số phiếu cao nhất của cùng một thành phố thì ứng viên nào có thứ tự nhỏ hơn sẽ chiến

thắng.

Ở giai đoạn tiếp theo, ngƣời chiến thắng đƣợc xác định theo nguyên tắc nhƣ sau: ngƣời thắng cử

là ngƣời chiến thắng tại nhiều thành phố nhất. Nếu có nhiều ứng viên cùng thắng tại nhiều thành

phố nhất thì ứng viên có thứ tự nhỏ hơn sẽ thắng cử.

Yêu cầu: hãy xác định ứng viên thắng cử

Dữ liệu: vào từ tập tin văn bản ELECTION.INP

- Dòng đầu tiên chứa 2 số nguyên

- Dòng thứ trong dòng tiếp theo chứa số nguyên cho

biết số phiếu bầu của các ứng viên thứ ở thành phố thứ .

Kết quả: ghi ra tập tin văn bản ELECTION.OUT chỉ số của ứng viên thắng cử.

Ví dụ:

ELECTION.INP ELECTION.OUT

3 3

1 2 3

2 3 1

1 2 1

2

Page 53: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 53

XÓA SỐ

Ngày chủ nhật, trời mƣa và lạnh. Trong phòng Harry cũng nhƣ Rôn không ai muốn ra khỏi chăn

ấm. Hai bạn quyết định giết thời gian bằng trò chơi xóa số. Harry tạo trên máy tính bảng của

mình một số có n chữ số không bắt đầu bằng 0, truyền số đó sang máy của Rôn và yêu cầu xóa k

chữ số tùy chọn để số nhận đƣợc sau khi xóa là lớn nhất. Sau khi xóa theo yêu cầu, Rôn truyền

lại số nhận đƣợc cho Harry.

Hãy xác định số mà Harry nhận đƣợc.

Dữ liệu: Vào từ file văn bản ERASENUM.INP:

Dòng đầu tiên chứa 2 số nguyên n và k (1 ≤ k < n ≤ 5×105),

Dòng thứ 2 chứa số nguyên n chứ số đƣợc Harry gửi.

Kết quả: Đƣa ra file văn bản ERASENUM.OUT số mà Harry nhận đƣợc.

ụ:

ERASENUM.INP ERASENUM.OUT

7 3

1231234

3234

Page 54: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 54

EQUATION Hãy giải phƣơng trình nghiệm nguyên dƣơng sau:

trong đó là tổng các chữ số của ; nguyên

Dữ liệu nhập từ bàn phím 3 số nguyên trên cùng dòng và cách nhau khoảng trắng

Kết quả xuất ra màn hình tất cả nghiệm nguyên dƣơng không vƣợt quá của phƣơng trình,

mỗi nghiệm trên một dòng, theo thứ tự tăng dần. Nếu phƣơng trình vô nghiệm xuất ra “No

solution”.

Ví dụ:

EQUATION.INP EQUATION.OUT

3 2 8 10

2008

13726

Page 55: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 55

XÂY DỰNG HÀNG RÀO

Một khu đất hình chữ nhật kích thƣớc (gồm hàng, mỗi hàng gồm ô vuông độ dài cạnh

là 1). Ngƣời ta cần làm hàng rào để ngăn cách từng ô vuông riêng biệt (độ dày hàng rào là không

đáng kể). Đƣờng biên xung quanh khu đất cũng cần đƣợc rào lại.

Yêu cầu cho là kích thƣớc khu đất, hãy tính tổng độ dài cần rào.

Hình minh họa khu đất với kích thƣớc và tổng độ dài cần rào là 17 (4 hàng rào dọc

độ dài 2; 3 hàng rào ngang độ dài 3).

Dữ liệu: vào từ tập tin văn bản FENCES.INP hai số nguyên .

Kết quả: ghi ra tập tin văn bản FENCES.OUT tổng độ dài cần rào.

ụ:

FENCES.INP FENCES.OUT

2 3 17

2 2 2 2

3

3

3

Page 56: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 56

HỘI KHỎE PHÙ ĐỔNG

Ba môn thi đồng đội chính trong Hội khỏe Phù Đổng năm nay là Kéo tay trên xà, Nằm sấp

chống tay và Nhảy ngựa gỗ. Mỗi đơn vị cử một đội gồm 3 học sinh tham gia. Hội khỏe đƣợc tiến

hành theo 3 vòng, vòng thứ nhất các đội thi kéo tay trên xà, vòng thứ hai – thi nằm sấp chống tay

và vòng thứ 3 – nhảy ngựa. Ở mỗi môn tất cả các thành viên trong đội đều phải tham gia thi.

Điểm của mỗi đội ở mỗi vòng là tổng điểm đạt đƣợc của cả 3 thành viên. Điểm xếp hạng là tổng

điểm ba vòng của mỗi đội.

Mỗi môn có độ khó khác nhau nên biểu điểm cũng khác nhau: mỗi lần kéo tay trên xà đƣợc tính

X điểm, mỗi lần nằm sấp chống tay đƣợc tính Y điểm và mỗi lần nhảy ngựa thành công – Z

điểm.

Thành phố có n học sinh thể lực tốt, có thể chọn đi thi. Học sinh thứ i có thể kéo tay trên xà Ai

lần, nằm sấp chống tay Bi lần và nhảy ngựa Ci lần. Nhƣng ngay cả khi có đầy đủ thông tin nhƣ

vậy cũng khó thành lập đội tuyển vì ngƣời kéo tay tốt thì nằm sấp chống tay lại không xuất sắc,

ngƣời chống tay tốt thì khả năng nhảy ngựa không cao, . . . Thật khó để tìm ra một đội tuyển có

thành tích đồng đội cả ba môn cao.

Yêu cầu: Cho các số nguyên n, X, Y, Z, Ai, Bi, Ci ( i = 1 ÷ n, 3 ≤ n ≤ 105). Hãy chỉ ra 3 học sinh

để thành lập đội tuyển.

Dữ liệu: Vào từ file văn bản FESTIVAL.INP:

Dòng đầu tiên chứa 3 số nguyên X, Y, Z (1 ≤ X, Y, Z ≤ 104),

Dòng thứ 2 chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa 3 số nguyên Ai, Bi, Ci (1 ≤ Ai, Bi, Ci ≤ 104).

Kết quả: Đƣa ra file văn bản FESTIVAL.OUT trên một dòng 3 số nguyên – số thứ tự của các

học sinh đƣợc chọn. Các học sinh đƣợc đánh số từ 1 và có thứ tự trùng với trình tự xác định

trong file nput. Các số đƣợc đƣa ra theo thứ tự tăng dần. Nếu có nhiều cách chọn thì đƣa ra một

cách chọn tùy ý.

Ví dụ:

FESTIVAL.INP FESTIVAL.OUT

2 3 2

6

3 1 4

5 1 1

2 3 2

3 2 3

2 3 2

1 4 1

3 4 5

Page 57: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 57

TÔ MÀU

Page 58: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 58

XÂU FIBONACCI

Công thức lặp có thể gặp với cả biểu thức xâu. Biểu thức xâu Fibonacci đƣợc xác định bằng bằng

công thức lặp F0 = a, F1 = b, F2 = F0+F1, . . .Fn=Fn-2+Fn-1, . . . Các xâu đầu tiên xác định theo

công thức lặp này là a, b, ab, bab, abbab, bababbab, abbabbababbab, . . .

Độ dài của xâu tăng lên rất nhanh. Vì vậy ta chỉ xét bài toán xác định một ký tự của một xâu

trong dãy các xâu này.

Yêu cầu: Cho 2 số nguyên n và k. Hãy xác định ký tự thứ k của xâu Fn. Các ký tự trong Fn đƣợc

đánh số bắt đầu từ 1.

Dữ liệu: Vào từ file văn bản FIB1.INP:

Dòng đầu tiên chứa số nguyên T – số bộ dữ liệu test (1 ≤ T ≤ 100),

Mỗi dòng trong T dòng sau chứa 2 số nguyên n và k (0 ≤ n ≤ 45, 1 ≤ k ≤ length(Fn)).

Kết quả: Đƣa ra file văn bản FIB1.OUT, kết quả mỗi test đƣa ra trên một dòng dƣới dạng một ký

tự.

Ví dụ:

FIB1.INP FIB1.OUT

4

0 1

1 1

3 2

7 7

a

b

a

a

Page 59: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 59

XÂU FIBONACCI 2 Xâu Fibonacci thƣờng đƣợc sử dụng để rèn luyện kỹ năng xử lý khi giới thiệu các giải thuật xử

lý xâu.

Xét dãy xâu F0, F1, F2, . . . xây dựng theo quy tắc sau:

F0 = „a‟,

F1 = „b‟,

Fn = Fn-2 + Fn-1, n >1.

Yêu cầu: Cho hai số nguyên n và k (0 ≤ n ≤ 45, k không vƣợt quá độ dài xâu Fn). Hãy xác định

số lƣợng ký tự a xuất hiện trong k ký tự đầu tiên của xâu Fn.

Dữ liệu: Vào từ file văn bản FIB2.INP:

Dòng đầu tiên chứa số nguyên T – số lƣợng tests cần xử lý (1 ≤ T ≤ 100),

Mỗi dòng trong T dòng sau chứa 2 số nguyên n và k.

Kết quả: Đƣa ra file văn bản FIB2.OUT, kết quả mỗi test đƣa ra trên một dòng dƣới dạng số

nguyên.

Ví dụ:

FIB2.INP FIB2.OUT

4

0 1

1 1

3 2

7 7

1

0

1

3

Page 60: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 60

LỌC SỐ

Trò chơi truyền hình “Lọc số” thu hút đƣợc rất nhiều ngƣời tham gia vì họ có thể ngồi ở nhà,

dùng máy tính của mình hỗ trợ để chơi. Ngƣời điều khiển chƣơng trình chọn và mở một phong bì

trên bàn, thông báo hai số nguyên L và R ghi trong phong

bì (2 ≤ L ≤ R ≤ 109). Bảng chứa các số nguyên từ L đến R

với các ô màu xanh.

Bƣớc 1 ngƣời dẫn chƣơng trình đƣa ra số 2. Ngƣời chơi

phải gạch hết các số trong bảng chia hết cho 2. Các ô chứa

những số này sẽ trở thành màu đỏ. Những ai trả lời đúng

và nhanh nhất sẽ đƣợc chơi tiếp. Ở bƣớc thứ i ngƣời dẫn

chƣơng trình đƣa ra số i+1. Ngƣời chơi phải gạch tất các

số ở những ô xanh còn lại và chia hết cho i+1. Cũng có

thể ở một số bƣớc nào đó không có số nào bị gạch. Trò

chơi kết thúc khi không có ngƣời chơi nào trả lời đúng

hoặc khi tất cả các số đều bị gạch.

Điều chúng ta quan tâm là với L, R nhận đƣợc trò chơi sẽ

diễn ra tối đa là bao nhiêu bƣớc. Ví dụ, với L = 2, R = 10,

trò chơi sẽ diễn ra tối đa trong 6 bƣớc.

Yêu cầu: Cho 2 số nguyên L, R. Hãy xác định số bƣớc tối đa của trò chơi.

Dữ liệu: Vào từ file văn bản FILTR.INP gồm một dòng chứa 2 số nguyên L và R.

Kết quả: Đƣa ra file văn bản FILTR.OUT một số nguyên – số bƣớc tối đa của trò chơi.

Ví dụ:

FILTR.INP FILTR.OUT

2 10 6

Page 61: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 61

ĐÁNH CÁ TRÊN SÔNG KAMA Các ông chủ tàu đánh cá trên dòng sông Kama quyết định tối ƣu công việc làm ăn của mình vào

mùa hè. Họ nhận đƣợc quyết định đánh bắt cá ở n điểm đánh bắt trên kênh sông tại các khoảng

cách x1, x2, …, xn kilomet từ cửa sông. Trong đó với điểm chỉ số i thì không bắt nhiều hơn ai tấn

cá. Số cá đƣợc đánh bắt có thể bán ở m cơ sở bán buôn đƣợc phân bố dọc bờ sông tại các điểm

có khoảng cách y1,y2,…,ym kilomet cách cửa sông. Trong đó cơ sở tại điểm thứ j ở mùa này chỉ

có năng lực mua không nhiều hơn bj tấn cá với giá là cj đồng một tấn.

Khoảng cách từ cửa sông đến các điểm đánh bắt và cơ sở bán buôn đƣợc đo dọc theo kênh sông.

Tàu đƣợc gửi đi đánh bắt từ cửa sông và phải trở về cửa sông sau khi kết thúc mùa đánh bắt. Ở

mùa hiện tại tàu có thể bơi dọc lên trên xuống dƣới bất kì vị trí nào của con sông, dừng để đánh

bắt hoặc bán cá. Tải trọng của tàu thì đảm bảo vận chuyển bất kì số cá nào đánh đƣợc. Khi di

chuyển từ cửa sông vào chỗ đánh bắt cá tàu đi ngƣợc dòng sông và tiêu tốn nguyên liệu cho một

kilomet là p đồng. Khi di chuyển xuôi dòng về hƣớng cửa sông thì tàu di chuyển không tốn nhiên

liệu. Kết thúc mùa đánh bắt lợi nhuận sẽ là tổng số tiền bán cá trừ đi chi phí nhiên liệu.

Yêu cầu: Hãy xác định lợi nhuận lớn nhất có thể nhận đƣợc.

Dữ liệu vào

Dòng đầu tiên chứa ba số nguyên n, m và p – số lƣợng điểm đánh cá, số lƣợng cơ sở bán

buôn và chi phí nhiên liệu(1 ≤ n, m ≤ 500000; 0 ≤ p ≤ 109).

n dòng tiếp theo chứa hai số nguyên xi và ai – khoảng cách từ cửa sông và số cá đánh bắt

tối đa ở điểm đó ( 0 < x1 < x2 < … < xn ≤ 109; 0 < ai ≤ 10

6).

m dòng tiếp theo chứa ba số nguyên yj, bj, cj – khoảng cách từ cửa sông của cơ sở bán

buôn, số lƣợng tấn cá tối đa có tiếp nhận của cơ sở này và giá tiền thu mua trên một tấn của cơ sở

bán buôn (0 < y1 < y2 < … < ym ≤ 109; 0 < bj, cj ≤ 10

6).

Dữ liệu ra Đƣa ra một số nguyên duy nhất – lợi nhuận lớn nhất có thể đạt đƣợc.

Ví dụ:

FISHER.INP FISHER.OUT

3 2 0

1 5

2 3

4 5

2 2 10

3 6 5

50

2 1 100

6 5

100 4

5 100 2000

9400

3 3 10

1 1

10 100

20 10

2 1000 1

11 50 50

17 50 2

2441

Page 62: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 62

TẶNG HOA Nhân ngày phụ nữ Việt Nam 20/10, Hoàng muốn mua một bó hoa thật đẹp có giá trị trong phạm

vi số tiền mình có là đồng để tặng bạn gái. Vì bạn gái chỉ thích hoa lan và hoa hồng nên Hoàng

chỉ tìm mua 2 loại hoa này. Hoa hồng có giá đồng một bông, hoa lan có giá đồng một bông

. Hoàng muốn mua đƣợc càng nhiều hoa càng tốt và giá trị của bó hoa phải là lớn nhất

(dĩ nhiên, không vƣợt quá số tiền mình hiện có).

Yêu cầu: cho 3 số nguyên . Hãy xác định giá trị của bó

hoa mua đƣợc.

Dữ liệu: vào từ tập tin văn bản FLOWERS.INP 3 số nguyên .

Kết quả: ghi ra tập tin văn bản FLOWERS.OUT giá trị lớn nhất của bó hoa mua đƣợc.

Ví dụ:

FLOWERS.INP FLOWERS.OUT

2 3 11 11

Page 63: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 63

ĐẶT QUẦY PHỤC VỤ

Tí đang điều hành một tiệm thức ăn nhanh mở cửa 24/7, tiệm có nhiều quầy để phục vụ khách ăn

uống. Một hôm, bằng cách nào đó Tí biết đƣợc ngày hôm sau sẽ có khách ghé tiệm của mình.

Tí cũng biết chính xác thời điểm mà ngƣời khách thứ sẽ ghé tiệm mình là vào lúc giờ

phút . Thời gian để phục vụ cho một khách hàng là không đáng kể

nhƣng Tí hiểu rằng nếu khách đến mà thấy không còn quầy phục vụ nào trống thì khách sẽ bỏ đi.

Tí là ngƣời tham lam nên muốn phục vụ cho tất cả khách hàng. Hãy giúp Tí tính số quầy phục

vụ tối thiểu để phục vụ cho tất cả khách.

Dữ liệu: vào từ tập tin FREECASH.INP

- Dòng đầu tiên chứa số nguyên dƣơng là số khách sẽ ghé tiệm

- Dòng thứ trong dòng tiếp chứa 2 số nguyên cho biết thời điểm ngƣời khách thứ sẽ

ghé tiệm theo thứ tự thời gian.

Kết quả: ghi ra tập tin văn bản FREECASH.OUT số quầy tối thiểu để phục vụ cho tất cả khách

hàng.

Ví dụ:

FREECASH.INP FREECASH.OUT

4

8 0

8 10

8 10

8 45

2

Page 64: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 64

THỨ SÁU NGÀY 13 Hành tinh Cyberplanet sử dụng lịch cũng tƣơng tự với lịch của hành tinh chúng ta. Mỗi năm ở

Cyberplanet có tháng, mỗi tháng có đúng 30 ngày, mỗi tuần có 7 ngày và ngày không may

mắn ở đây cũng là thứ sáu ngày 13. Biết rằng ngày đầu năm mới ở hành tinh Cyberplanet là ngày

thứ trong tuần ( : thứ hai; : thứ ba, …, : chủ nhật)

Yêu cầu: hãy xác định có bao nhiêu ngày không may mắn trong năm ở Cyberplanet

Dữ liệu: vào từ tập tin văn bản FRIDAY.INP 2 số nguyên dƣơng

Kết quả: xuất ra tập tin văn bản FRIDAY.OUT số ngày rơi vào thứ sáy ngày 13 trong năm.

ụ:

FRIDAY.INP FRIDAY.OUT

12

1

2

Page 65: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 65

ẾCH

Trong đầm lầy nơi chú ếch loại N sống hoa súng mọc thành một dãy dài, các cụm hoa súng đƣợc

đánh số từ 1 trở đi từ trái sang phải. Ban đầu chú ếch thuộc loại N và chú đang ngồi trên lá ở cụm

hoa thứ K (1 ≤ N < K ≤ 2×109). Chú ếch sẽ nhảy sang trái với bƣớc nhảy là N cụm, tức là từ cụm

K sang cụm K – N, rồi sang cụm K – 2N, K – 3N, . . . cho đến khi tới cụm M ≤ N. Nếu M = N thì

chú ếch sẽ cảm thấy rất thoải mái và không nhảy đi đâu cả.

Nếu M < N thì ếch sẽ nhảy sang phải một bƣớc N, trở thành loại M và lại nhảy sang trái với các

bƣớc là M. Chú ếch sẽ tìm thấy cụm thoải mái hay trở thành loại L và lại nhảy tiếp.

Yêu cầu: Cho N và K. Hãy xác định xem chú ếch có tới đƣợc cụm thấy thoải mái hay không và

nếu có – đó là cụm nào.

Dữ liệu: Vào từ file văn bản FROG.INP:

Dòng thứ nhất chứa số nguyên N,

Dòng thứ 2 chứa số nguyên K.

Kết quả: Đƣa ra file văn bản FROG.OUT một số nguyên – số của cụm hoa nơi chú ếch ở lại hoặc

số 0 nếu chú ếch không tìm đƣợc nơi thoải mái.

Ví dụ:

FROG.INP FROG.OUT

2

10

2

Page 66: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 66

ẾCH ĐỘT BIẾN GEN

Cuộc sống an nhàn với thức ăn đầy đủ và đa dạng tại các đống rác thành phố đã sinh ra thế hệ

các chú ếch đột biến gen. Trên con đƣờng dẫn đến bải rác thành phố có n đống rác, đánh số bắt

đầu từ 0 đến n-1 từ trái qua phải. Đống rác thứ i có độ cao hi (i = 0 ÷ n-1, 0 < hi ≤ 109, 0 < n

≤ 106, hi – nguyên). Trên mỗi đống rác hiện có một chú ếch sống. Đến tuổi trƣởng thành, mỗi

chú ếch đều muốn đi tìm một chỗ sống tốt đẹp hơn bằng cách nhảy sang đống rác cao hơn gần

nhất bên phải. Chú ếch ở đống rác thứ i có thể thực hiện đƣơc Ji bƣớc nhảy (0 < Ji < n). Bãi

rác thành phố có độ cao lớn hơn mọi đống rác trên đƣờng. Ta ký hiệu độ cao này là -1 (vì không

cần và cũng không thể biết chính xác).

Ví dụ, có 8 đống rác với độ cao tƣơng ứng từ trái sang phải là 3, 1, 4, 5, 6, 2, 3 và 8. Số bƣớc

nhảy mỗi chú ếch có thể thực hiện là 1, 2, 1, 3, 4, 2, 1, 2. Sau khi di chuyển hết khả năng của

mình, chú ếch ở đống rác 0 sẽ tới đƣợc đống rác 2 với độ cao là 4, còn chú ếch ở đống rác 3 – tới

đƣợc bải rác thành phố (độ cao -1).

Yêu cầu: Hãy xác định độ cao nơi ở mới của mỗi chú ếch.

Dữ liệu: Vào từ file văn bản FROGS.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ 2 chứa n số nguyên h0, h1, …, hn-1,

Dòng thứ 3 chứa n số nguyên J0, J1, …, Jn-1.

Kết quả: Đƣa ra file văn bản FROGS.OUT một dòng chứa n số nguyên – độ cao nơi ở mới của

mỗi chú ếch.

Ví dụ:

FROGS.INP FROGS.OUT

8

3 1 4 5 6 2 3 8

1 2 1 3 4 2 1 2

4 5 5 -1 -1 8 8 -1

Page 67: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 67

HÀM SỐ Cho số nguyên dƣơng , hàm số đƣợc định nghĩa nhƣ sau:

Trong đó là tổng các chữ số của . Hãy tính

Dữ liệu vào từ tập tin văn bản FUNCTION.INP số nguyên dƣơng

Kết quả ghi ra tập tin văn bản FUNCTION.OUT giá trị của

Ví dụ:

FUNCTION.INP FUNCTION.OUT

5 3

Page 68: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 68

GEN VI KHUẨN

Viện Di truyền học nghiên cứu chế tạo vacin. Họ đã giải mã đƣợc gen của vi khuẩn. Nhƣng nhƣ

vậy vẫn chƣa đủ. Còn phải tìm hiểu các biến dạng của nó, xác định các khác biệt để xử lý.

Các phân tử DNK có thể biểu diễn dƣới dạng chuỗi các ký tự A, C, G và T, tạo thành các gen

tuyến tính. Mức độ họ hàng gần gũi của vi khuẩn đƣợc xác định dựa vào mức độ giống nhau của

các gen tuyến tính, tức là bằng số ký tự giống nhau ở các vị trí tƣơng ứng.

Các nhà bác học phát hiện ra rằng gien

của vi khuẩn có tính chất nối vòng, tức là

nếu S = s1s2…sn là gen tuyến tính của

vi khuẩn thì các gen S1=S, S2 =

s2s3…sns1, . . ., Sn = sns1…sn-1 cũng

là gen của vi khuẩn này. Ngƣời ta đã

chứng minh đƣợc rằng độ giống nhau của

hai vi khuẩn có các gen vòng tƣơng ứng

là A và B sẽ là độ giống nhau cực đại của

các gen tuyến tính Ax và By sinh ra từ A

và B.

Ở gen nối vòng hình bên ta có thể tách ra

các gen tuyến tính A1 và B10 với độ giống

nhau 9. Đó cũng là độ giống nhau của 2

vi khuẩn này.

Yêu cầu: Cho 2 gen A và B độ dài n (2 ≤ n ≤ 100). Hãy xác định mức độ giống nhau của hai vi

khuẩn.

Dữ liệu: Vào từ file văn bản GEN.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ 2 chứa xâu xác định gen A,

Dòng thứ 3 chứa xâu xác định gen B.

Kết quả: Đƣa ra file văn bản GEN.OUT một số nguyên – độ giống nhau của 2 vi khuẩn.

Ví dụ:

GEN.INP GEN.OUT

12

ATGATACGCAGT

ATGCGTAGTATA

9

Page 69: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 69

QUÀ TẶNG

Trong buổi tiệc chia tay cuối năm, các bạn học sinh đã mang theo món quà để tặng

cho nhau (buổi tiệc có học sinh tham dự, mỗi học sinh chỉ mang một món quà).

Để tạo tính bất ngờ thú vị cho các học sinh tham dự, giáo viên chủ nhiệm tập họp các món quà

lại và đánh số thứ tự các hộp quà từ 1 đến tƣơng ứng với số thứ tự của chủ nhân hộp quà. Tiếp

theo, cô tạo lá thăm, trên mỗi lá thăm ghi một con số từ 1 đến . Các học sinh sẽ lần lƣợt bốc

ngẫu nhiên 1 lá thăm và sẽ nhận món quà có số thứ tự tƣơng ứng với con số đƣợc ghi trên lá

thăm mà học sinh bốc trúng.

Các học sinh tham dự rất háo hức để xem món quà mình sắp nhận là gì nhƣng cũng rất muốn biết

ai sẽ là ngƣời nhận đƣợc món quà mà mình đã chuẩn bị từ nhiều ngày trƣớc đó.

Dữ liệu: vào từ tập tin văn bản GIFTS.INP:

- Dòng đầu tiên chứa số là số học sinh tham dự

- Dòng thứ chứa 1 số nguyên là số thăm mà học sinh thứ bốc đƣợc

Kết quả: xuất ra tập tin văn bản GIFTS.OUT gồm dòng, dòng thứ ghi số thứ tự của học sinh

nhận đƣợc quà của học sinh thứ .

ụ:

GIFTS.INP GIFTS.OUT

4

2

3

4

1

4

1

2

3

Page 70: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 70

SẾU

Lần đầu tiên đƣợc đi tới vƣờn bách thú Jimmy thích nhất các con sếu vì nhiều con trong số

chúng đứng một chân trông rất ngộ nghĩnh, khi đó chân kia không thấy đâu nhƣ vốn sinh ra

chúng đã chỉ có một chân. Jimmy đếm đƣợc tất cả có a chân.

Sau khi đi xem các con thú khác Jimmy lại quay về chổ chuồng sếu. Một số con đã thay đổi vị trí

và cách đứng, Jimmy đếm lại một lần nữa và có số chân là b.

Qua số chân thì không thể xác định chính xác có tất cả bao nhiêu con sếu trong chuồng nhƣng

Gimmy vẫn muốn biết có ít nhất và nhiều nhất là bao nhiêu con.

Hãy xác định số lƣợng sếu tối thiểu và tối đa.

Dữ liệu: Vào từ file văn bản HERONS.INP gồm một dòng chứa 2 số nguyên a và b (1 ≤ a, b ≤

109).

Kết quả: Đƣa ra file văn bản HERONS.OUT trên một dòng 2 số nguyên xác định số lƣợng sếu

tối thiểu và tối đa.

Ví dụ:

HERONS INP HERONS.OUT

3 4 2 3

Page 71: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 71

BÀI TẬP VỀ NHÀ

Steve rất không thích làm bài tập ở nhà. Nhƣng trong giờ Tin học thầy giáo cho tới n bài tập về

nhà, trong đó có những bài chỉ có thể giải đƣợc sau khi làm một số bài khác.

Steve đọc đầu bài, ƣớc lƣợng thời gian giải cho từng bài và thấy rõ rằng mình không kịp làm

đƣợc hết tất cả các bài. Khi đó Steve quyết định sẽ bỏ một

bài. Hy vọng rằng nếu chỉ thiếu có một bài thầy giáo sẽ

không mắng nhiều. Vấn đề là phải chọn bài nào để lại, không

làm sao cho tổng thời gian làm các bài còn lại là nhỏ nhất.

Ví dụ, với n = 5, thời gian làm bài thứ i là i phút và các bài 2,

3 phải làm sau khi đã làm xong bài 1, bài 3 phải làm sau bài

5. Nhƣ vậy Steve có thể bỏ bài 4 và thời gian là các bài còn

lại sẽ là 1+2+3+5=11 phút.

Yêu cầu: Cho các số nguyên n, m, ti – thời gian làm bài thứ

i, i = 1 ÷ n và m cặp quan hệ dạng (a, b) cho biết bài b phải làm sau bài a. Hãy xác định thời gian

tối thiểu cần thiết để Steve thực hiện đƣợc kế hoạch của mình.

Dữ liệu: Vào từ file văn bản HOMEWORK.INP:

Dòng đầu tiên chứa 2 số nguyên n và m (1 ≤ n ≤ 100, 0 ≤ m ≤ 1000),

Dòng thứ 2 chứa n số nguyên t1, t2, . . ., tn (1 ≤ ti ≤ 1000, i = 1÷ n),

Mỗi dòng trong m dòng sau chứa 2 số nguyên a và b (1 ≤ a, b ≤ n, a ≠ b).

Kết quả: Đƣa ra file văn bản HOMEWORK.OUT một số nguyên – thời gian tối thiểu tìm đƣợc.

Ví dụ:

HOMEWORK.INP HOMEWORK.OUT

5 5

1 2 3 4 5

1 2

5 3

1 3

3 4

2 4

11

Page 72: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 72

SỐ NGUYÊN TỐ Cho hai số nguyên dƣơng và , hãy liệt kê tất cả các số nguyên tố trong phạm vi từ 1 tới có

tổng các chữ số bằng .

Dữ liệu: vào từ tập tin văn bản HPRIME.INP dòng chứa hai số nguyên dƣơng

Kết quả: ghi ra tập tin văn bản HPRIME.OUT

- Dòng 1 ghi số là số những số nguyên tố trong phạm vi từ 1 tới có tổng các chữ số bằng

- dòng tiếp theo, mỗi dòng ghi một số nguyên tố thỏa mãn yêu cầu đề ra, các số nguyên tố

phải đƣợc liệt kê theo thứ tự tăng dần.

Ví dụ:

HPRIME.INP HPRIME.OUT

500 16 7

79

97

277

349

367

439

457

Page 73: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 73

THẦN TƯỢNG Có ngƣời nổi tiếng đánh số từ 1 tới . Ngƣời thứ coi ngƣời khác làm “thần tƣợng” của

mình. Chú ý mối quan hệ “thần tƣợng” không phải quan hệ đối xứng, tức là có thể ngƣời coi

ngƣời làm thần tƣợng nhƣng ngƣời không phải thần tƣợng của ngƣời .

Yêu cầu: Liệt kê những ngƣời là thần tƣợng của nhiều ngƣời khác nhất.

Dữ liệu: vào từ tập tin văn bản IDOLS.INP

- Dòng 1: Chứa số nguyên dƣơng

- dòng tiếp theo, dòng thứ chứa số nguyên , tiếp theo là số nguyên đôi một khác nhau

tƣơng ứng với số hiệu những ngƣời đƣợc ngƣời coi làm thần tƣợng

Kết quả: ghi ra tập tin văn bản IDOLS.OUT chỉ số của những ngƣời đƣợc nhiều ngƣời khác coi

là thần tƣợng nhất. Các chỉ số tìm đƣợc cần ghi trên một dòng theo thứ tự tăng dần.

Ràng buộc: ; ; Không ngƣời nào tự nhận mình làm thần tƣợng.

ụ:

IDOLS.INP

IDOLS.OUT

5

2 2 4

3 5 1 4

2 2 5

1 1

2 2 4

2 4

Page 74: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 74

DÃY CON ĐƠN ĐIỆU TĂNG DÀI NHẤT

Cho một dãy số nguyên gồm n phần tử a1, a2, ..., an. Biết rằng dãy con tăng đơn điệu là 1 dãy

1 2, ,...,

ki i ia a a thỏa mãn i1 < i2 < ... < ik và 1 2

...ki i ia a a . Hãy cho biết dãy con tăng đơn điệu

dài nhất của dãy này có bao nhiêu phần tử.

Dữ liệu vào: Chứa trong tập tin văn bản INCSEQ.INP.

Dòng 1 gồm 1 số nguyên là số N (1 ≤ N ≤ 105).

Dòng thứ 2 ghi n số nguyên a1, a2, ..., an (1 ≤ ai ≤ 10000).

Dữ liệu ra: Chứa trong tập tin văn bản INCSEQ.OUT.

In ra một số nguyên duy nhất là độ dài của dãy con tăng dài nhất.

Ví dụ:

INCSEQ.INP INCSEQ.OUT

6

1 2 5 4 6 2

4

Page 75: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 75

TỐI GIẢN PHÂN SỐ Cho 4 số nguyên dƣơng . Hãy tìm là tử và mẫu tối giản tƣơng

ứng của phân số tổng

Dữ liệu vào từ tập tin văn bản IRD.INP 4 số nguyên dƣơng

Kết quả ghi ra tập tin văn bản IRD.OUT 2 số nguyên dƣơng

ụ:

IRD.INP IRD.OUT

2 6 1 3 2 3

Page 76: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 76

BA LÔ DU LỊCH

Ba lô du lịch mới của Steve đƣợc làm từ cao su siêu bền. Ba lô mới mang lại cho Steve những

khả năng mới và cả những vấn đề mới.

Ba lô có dung lƣợng V0 cm3 (0 ≤ V0 ≤ 10

9). Nếu đồ đạc mang

theo có thể tích không quá V0 thì không có vấn đề gì xẩy ra.

Nhƣng vì ba lô làm bằng cao su nên còn có thể nhét thêm nhiều

thứ nữa, khi đó màng cao su sẽ căng và ép lên đồ vật bên trong.

Nếu thể tích sử dụng là V > V0 thì các đồ vật trong ba lô sẽ phải

chịu một áp lực P = V – V0.

Steve có n đồ vật có thể phải mang theo khi du lịch (1 ≤ n ≤ 100).

Đồ vật thứ i có thể tích vi, giá trị là ci và chịu đƣợc áp lực

không quá pi.

Yêu cầu: Hãy xác định các đồ vật cần mang theo để tổng giá trị

mang đi là lớn nhất.

Dữ liệu: Vào từ file văn bản KNAPSACK.INP:

Dòng đầu tiên chứa 2 số nguyên n và V0,

Dòng thứ i trong n dòng tiếp theo chứa 3 số nguyên ci,

vi và pi.

Kết quả: Đƣa ra file văn bản KNAPSACK.OUT:

Dòng đầu tiên chứa 2 số nguyên – số lƣợng đồ mang theo và tổng giá trị của chúng,

Dòng thứ hai chứa các số nguyên chỉ ra một cách xác định các đồ cần mang theo.

Ví dụ:

KNAPSACK.INP KNAPSACK.OUT 3 10

3 1 1

4 1 2

5 1 3

2 2

2 3

Page 77: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 77

TÁO QUÂN

Có ông táo vào bà táo đƣợc Ngọc Hoàng phân công nhiệm vụ trong năm mới. Đầu tiên

Ngọc Hoàng chọn táo (ông hoặc bà) làm những nhiệm vụ đặc biệt tại các Bộ/Ngành, sau đó

Ngọc Hoàng sẽ chọn ra các nhóm, mỗi nhóm gồm đúng 2 ông táo và 1 bà táo để phân xuống các

gia đình dƣới hạ giới.

Yêu cầu: Hãy giúp Ngọc Hoàng xác định số nhóm nhiều nhất để phân xuống các gia đình dƣới

hạ giới. Ví dụ có ông táo và bà táo, có táo phải làm nhiệm vụ đặc biệt. Ngọc

Hoàng có thể chọn 4 ông táo và 2 bà táo làm nhiệm vụ đặc biệt, còn lại chia làm 4 nhóm (1 bà

táo không đƣợc phân việc). Cách khác là chọn 3 ông táo và 3 bà táo làm nhiệm vụ đặc biệt, còn

lại chia làm 4 nhóm (1 ông táo không đƣợc phân việc).

Dữ liệu: vào từ tập tin văn bản LARES.INP gồm 1 dòng chứa 3 số nguyên dƣơng

cách nhau ít nhất một dấu cách

Kết quả: ghi ra tập tin văn bản LARES.OUT một số nguyên duy nhất là số nhóm nhiều nhất

chọn đƣợc để phân xuống các gia đình dƣới hạ giới.

ụ:

LARES.INP LARES.OUT

12 7 5 4

Page 78: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 78

HIỆN SỐ BẰNG ĐÈN LED

Quà sinh nhật mà Mai nhận đƣợc là một máy tính bấm tay màn hình tinh thể lỏng. Màn hình có

thể hiển thị đƣợc n chữ số. Có 7 đèn LED tạo thành 7 vạch để hiển thị một chữ số. Mỗi chữ số sẽ

tƣơng ứng với một số đèn LED đƣợc kích hoạt và vạch tƣơng ứng sẽ có màu đen. Cách hiện thị

các số là nhƣ sau:

Nhƣ vậy, để hiển thị số 0 cần 6 vạch đen, số 1 cần 2 vạch đen, … Là ngƣời ham hiểu biết, Mai tự

hỏi không biết số gồm chữ số có nghĩa nào nhỏ nhất và lớn nhất có thể hiển thị với đúng

vạch đen trên màn hình.

Yêu cầu: cho và . Hãy xác định số gồm chữ số có nghĩa nhỏ

nhất và lớn nhất, mỗi số đƣợc hiển thị với đúng vạch đen trên màn hình.

Dữ liệu: vào từ tập tin văn bản LED.INP chứa 2 số nguyên và

Kết quả: ghi ra tập tin văn bản LED.OUT

- Dòng thứ nhất ghi số nguyên nhỏ nhất

- Dòng thứ hai ghi số nguyên lớn nhất

- Nếu không có nghiệm thì đƣa ra thông báo NO SOLUTION

ụ:

LED.INP LED.OUT

5 15 10117

97111

Page 79: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 79

NGÔN NGỮ

Steve học ngoại ngữ. Bài tập hôm nay là học thuộc tên các chữ số (ở hệ cơ số 10). Để rèn luyện

kỹ năng phản xạ nhanh, Steve viết một dãy n số nguyên dƣơng a1, a2, . . ., an, mỗi số không

vƣợt quá 109 và không có các số 0 không có nghĩa ở đầu (1 ≤ n ≤ 1000). Với mỗi số Steve sẽ đọc

chữ số có tên lớn nhất (theo thứ tự từ điển) trong số các tên xuất hiện trong số này.

Ví dụ, Steve học tiếng Pháp. Tên các chữ số trong tiếng Pháp là nhƣ sau:

0 1 2 3 4 5 6 7 8 9

zero un deux trois quatre cinq six sept huit neuf

Với số 908, chữ số mà Steve đọc là zero.

Yêu cầu: Cho dãy 10 tên các chữ số từ 0 đến 9, số nguyên n và n số nguyên a1, a2, . . ., an. Với

mỗi số nguyên hãy nêu tên chữ số đƣợc đọc.

Dữ liệu: Vào từ file văn bản LINGVO.INP:

Dòng đầu tiên chứa 10 xâu, xâu thứ i là tên chữ số i, i = 0 ÷ 9, mỗi xâu không quá 50

ký tự, các xâu cách nhau một dấu cách,

Dòng thứ 2 chứa số nguyên n,

Dòng thứ i trong n dòng tiếp theo chứa số nguyên ai.

Kết quả: Đƣa ra file văn bản LINGVO.OUT n tên các chữ số đƣợc đọc, mỗi tên đƣa ra trên một

dòng, dòng thứ i xác định tên đọc trong số ai.

Ví dụ:

LINGVO.INP LINGVO.OUT

zero un deux trois quatre cinq six sept huit neuf

3

123

456

908

un

six

zero

Page 80: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 80

KHÓA SỐ

Khóa số có n vòng số xoay độc lập với nhau. Mỗi vòng có k vị trí, mỗi vị trí khắc một số nguyên

trong phạm vi từ 1 đến k, các vị trí khác nhau có số khác nhau. Để mở đƣợc khóa ngƣời ta phải

xoay các vòng số về vị trí, sao cho trên cửa sổ đọc, tổng của 3 số liên tiếp bất kỳ phải bằng k.

Trƣớc khi đƣa khóa về trạng thái sử dụng, ngƣời dùng phải chọn hai vòng số p1 và p2 nào đó tùy

chọn, xác lập giá trị hiển thị cố định cho hai vòng này tƣơng ứng là v1 và v2 (p1 ≠ p2, 1 ≤ p1, p2

≤ n, 1 ≤ v1, v2 ≤ k). Tùy theo cách chọn v1 và v2 có thể có nhiều bộ giá trị mở khóa hoặc không

có cách nào (khóa chết – chỉ có thể mở bằng cách phá khóa).

Ví dụ, với n = k = 4, p1 = 1, p2 = 4 và v1 = v2 = 1 ta có hai bộ giá trị để mở khóa, đó là (1, 2, 1,

1) và (1, 1, 2, 1).

Yêu cầu: Cho n, k, p1, v1, p2 và v2. Hãy xác định số bộ giá trị mở khóa. Với khóa chết, số bộ

giá trị mở là 0.

Dữ liệu: Vào từ file văn bản LOCK.INP gồm một dòng chứa 5 số nguyên n, k, p1, v1, p2 và v2

(3 ≤ n ≤ 105, 3 ≤ k ≤ 10

5).

Kết quả: Đƣa ra file văn bản LOCK.OUT một số nguyên – số bộ giá trị mở khóa.

Ví dụ:

LOCK.INP LOCK.OUT

4 4 1 1 4 1 2

Page 81: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 81

THÀNH PHỐ MAY MẮN

Tháp Giga là tòa tháp cao nhất và sâu nhất thành phố Cyberland với tổng cộng có

17,777,777,777 tầng và đƣợc đánh thứ tự từ tầng -8,888,888,888 đến tầng 8,888,888,888 (có

tầng 0 nằm giữa tầng -1 và tầng 1).

Ngƣời dân sống ở thành phố Cyberland tin rằng số 8 là một con số may mắn và một số nguyên

đƣợc gọi là may mắn nếu nó có chứa ít nhất một chữ số 8. Chẳng hạn số 18, 380, -808 là các số

may mắn.

Bờm là một du khách lần đầu đến Cyberland và cậu ta muốn viếng thăm Giga để tìm kiếm sự

may mắn. Hiện tại Bờm đang đứng ở tầng thứ của tòa tháp và cậu ta muốn tìm số nguyên

dƣơng nhỏ nhất sao cho khi lên cao thêm tầng tính từ tầng thì cậu ta sẽ đến đƣợc tầng có số

thứ tự là một số may mắn.

Dữ liệu: vào từ tập tin văn bản LUCKY.INP số nguyên

Kết quả: ghi ra tập tin văn bản LUCKY.OUT số nguyên dƣơng nhỏ nhất tìm đƣợc

Ví dụ:

LUCKY.INP LUCKY.OUT

179 1

LUCKY.INP LUCKY.OUT

18 10

Page 82: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 82

LŨY THỪA CỦA 2 Hãy tính 2n .

Dữ liệu vào từ tập tin LUYTHUA2.INP

Chứa một số tự nhiên n ≤ 10000

Dữ liệu kết quả ra tập tin LUYTHUA2.OUT

Số 2n

Ví dụ:

LUYTHUA2.INP LUYTHUA2.OUT

10 1024

Page 83: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 83

ĐƯỜNG VÀNH ĐAI

Mạng lƣới giao thông trong một thành phố mới đƣợc tổ chức dƣới dạng n đƣờng vành đai và m

đƣờng trục (1 ≤ n, m ≤ 105). Mỗi đƣờng vành đai là một đƣờng tròn tâm là quảng trƣờng chính

của thành phố và có bán kính nguyên ri (1 ≤ ri ≤ 106). Mỗi đƣờng trục là một đoạn thẳng nối

một điểm ở trên đƣờng vành đai bán kính lớn nhất với

quảng trƣờng chính. Nếu đứng giữa quảng trƣờng chính và

nhìn về hƣớng đông, thì khi xoay mặt theo hƣớng ngƣợc

chiều kim đồng hồ một góc aj độ ta sẽ nhìn dọc theo

đƣờng trục thứ j. Đƣợc biết là Aj = aj×106 là một số

nguyên và 0 ≤ Aj < 360×106. Các đƣờng trục là những

đƣờng hai chiều, nhƣng xe cộ không đƣợc đi qua quảng

trƣờng chính.

Mỗi đƣờng vành đai có thể là đƣờng hai chiều (ký hiệu là

loại 0), có thể là đƣờng một chiều và đi theo chiều ngƣợc

kim đồng hồ (ký hiệu là loại 1), có thể là đƣờng một chiều

và đi theo chiều kim đồng hồ (ký hiệu là loại -1).

Yêu cầu: Hãy xác định độ dài đƣờng đi ngắn nhất từ giao

của đƣờng vành đai p với đƣờng trục q tới giao của đƣờng

vành đai u với đƣờng trục v.

Dữ liệu: Vào từ file văn bản MAGISTRALS.INP:

Dòng đầu tiên chứa 2 số nguyên n và m,

Mỗi dòng trong n dòng sau chứa 2 số nguyên bán kính và loại đƣờng vành đai,

Dòng thứ j trong m dòng tiếp theo chứa số nguyên Aj,

Dòng thứ n+m+2 chứa 2 số nguyên p và q,

Dòng cuối cùng chứa 2 số nguyên u và v.

Kết quả: Đƣa ra file văn bản MAGISTRALS.OUT một số thực – độ dài đƣờng đi ngắn nhất tìm

đƣợc với độ chính xác 4 chữ số sau dấu chấm thập phân.

Ví dụ:

MAGISTRALS.INP MAGISTRALS.OUT 3 4

1 0

7 1

8 -1

0

90000000

180000000

270000000

3 1

3 2

12.9956

Page 84: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 84

CÁC THỎI NAM CHÂM

Nhà khoa học lập dị Mike đã nghĩ ra trò sắp các quân cờ domino để tiêu khiển nhƣng Mike lại

không có bộ cờ domino nên đã thay bằng các thanh nam châm. Mỗi thanh nam châm đều có 2

cực dƣơng (+) và âm (-). Nếu 2 thanh nam châm đặt gần nhau thì các cực cùng dấu sẽ đẩy nhau

và các cực trái dấu sẽ hút nhau.

Mike đặt các thanh nam châm thành một hàng ngang trên bàn. Mỗi lần anh ta thêm một thỏi nam

châm vào cuối phải dãy. Tùy vào cách anh ta bố trí các thanh nam châm chúng sẽ hút nhau tạo

thành một nhóm hàng ngang hoặc đẩy nhau tách biệt thành nhóm khác.

Yêu cầu: với cách sắp đặt các thanh nam châm thành một hàng ngang nhƣ trên, hãy xác định số

nhóm nam châm đƣợc hình thành.

Dữ liệu: đọc từ tập tin văn bản MAGNETS.INP gồm nhiều dòng

- Dòng đầu chứa số nguyên dƣơng .

- Dòng thứ trong dòng tiếp theo, mỗi dòng chứa 2 số 0, 1 mô tả cho 2 đầu của thanh nam

châm thứ . 0 tƣơng ứng với cực âm, 1 tƣơng ứng cực dƣơng

Kết quả: ghi ra tập tin văn bản MAGNETS.OUT gồm 1 số nguyên là số nhóm nam châm đƣợc

hình thành

ụ:

MAGNETS.INP MAGNETS.OUT

6

10

10

10

01

10

10

3

Page 85: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 85

TẦN SỐ XUẤT HIỆN NHIỀU NHẤT Cho dãy số nguyên , hãy cho biết giá trị xuất hiện nhiều nhất dãy.

Dữ liệu: vào từ tập tin văn bản MAXFREQ.INP

- Dòng 1 chứa số nguyên dƣơng

- Dòng thứ trong dòng tiếp theo chứa số nguyên

Kết quả: ghi ra tập tin văn bản MAXFREQ.OUT số nguyên là giá trị xuất hiện nhiều nhất trong

dãy, nếu có nhiều giá trị thỏa điều kiện thì xuất giá trị nhỏ nhất.

ụ:

MAXFREQ.INP MAXFREQ.OUT

10

5

3

2

5

5

3

4

6

8

3

3

Page 86: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 86

DƯA HẤU Ở CÁNH ĐỒNG KỲ DIỆU

Khủng hoảng tài chính thế giới nhƣ một cơn bão nhiệt đới, để lại đằng

sau đƣờng đi của mình những khung cảnh tiêu điều trên các nền kinh

tế thế giới, không loại trừ một nƣớc nào, kể cả ở xứ sở huyền diệu của

Buratino. Để có thêm thu nhập, Buratino quyết định đi trồng dƣa hấu ở

cánh đồng kỳ diệu nổi tiếng. Nhờ sự nỗ lực đặc biệt của Buratino (mà

cũng có thể là do tính kỳ diệu của cánh đồng) dƣa hấu luôn phát triển

với một tốc độ không đổi, tuy mỗi quả có một tốc độ riêng. Dƣa hấu ở cánh đồng kỳ diệu trở nên

nổi tiếng và rất hấp dẫn đối khách du lịch.

Nhận thấy khách du lịch rất thích chụp ảnh với dƣa hấu của cánh

đồng, Buratino đã tổ chức cung cấp một dịch vụ mới cho khách du

lịch VIP – chụp ảnh với quả dƣa hấu nặng nhất.

Buratino cân các quả dƣa hấu, theo dõi một số ngày và nhận thấy

rằng, nếu trọng lƣợng ban đầu là w0, thì sau k ngày dƣa hấu sẽ có

trọng lƣợng w = w0+s×k, trong đó s – tốc độ phát triển của quả dƣa

này (1 ≤ w0, s ≤ 109). Trên cánh đồng có n quả dƣa hấu, đánh số từ 1 đến n (1 ≤ n ≤ 10

5).

Buratino ghi lại trọng lƣợng ban đầu và tốc độ phát triển của từng quả. Nhƣng vốn không mạnh

về toán học, Buratino rất lúng túng khi cần tìm quả dƣa nặng nhất ở một ngày k nào đó (1 ≤ k ≤

109).

Yêu cầu: Cho n, k và n cặp số (w0, s). Hãy tìm ra quả dƣa hấu nặng nhất ở ngày thứ k. Nếu có

nhiều quả cùng nặng nhất thì chỉ ra quả có số nhỏ nhất.

Dữ liệu: Vào từ file văn bản MELONS.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa hai số nguyên w0 và s đối với quả dƣa thứ i,

Dòng n+2 chứa số nguyên m – số ngày cần tìm dƣa nặng nhất (1 ≤ m ≤ 105),

Mỗi dòng trong m dòng sau chứa một số nguyên k.

Kết quả: Đƣa ra file văn bản MELONS.OUT m số nguyên, mỗi số trên một dòng, xác định số thứ

tự của quả dƣa nặng nhất ứng với ngày tƣơng ứng cần tìm.

Ví dụ:

MELONS.INP MELONS.OUT 3

1 4

8 3

4 1

3

1

3

2

3

1

2

Page 87: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 87

HỖN HỢP Harry Potter đƣợc giao 3 bình dung dịch cùng thể tích và đều chứa đầy. Dung dịch trong mỗi

bình là hỗn hợp của 3 chất A, B và C. Trong bình thứ tỷ lệ các chất A, B và C là

. Ví dụ, mỗi bình có thể tích 12 lít và bình thứ nhất chứa 3 lít chất A, 6 lít

chất B và 3 lít chất C thì tỷ lệ các chất trong bình 1 là 1, 2, 1. Nhiệm vụ của Hary Potter là đổ

chung 3 bình này vào một thùng rỗng lớn và tính tỷ lệ các chất A, B, C trong thùng. Hãy lập

trình giúp Harry Poter tính tỷ lệ các chất trong thùng dựa theo tỷ lệ đã cho ở các bình.

Dữ liệu vào từ tập tin văn bản MIX.INP, gồm 3 dòng - dòng thứ i chứa 3 số nguyên dƣơng

, các số cách nhau một dấu cách.

Kết quả xuất ra tập tin văn bản MIX.OUT 3 số nguyên - tỷ lệ các chất A, B, C trong

thùng. Các số phải nguyên tố cùng nhau và cách nhau một dấu cách.

Ví dụ:

MIX.INP MIX.OUT

1 2 1 13 12 11

2 1 3

3 2 1

Page 88: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 88

MODULO Cho dãy số nguyên dƣơng . Hãy tìm số dƣ của phép chia từng phần tử của dãy

cho số nguyên dƣơng .

Dữ liệu vào từ tập tin văn bản MODULO.INP gồm nhiều dòng:

- Dòng đầu tiên chứa 2 số nguyên dƣơng

- Dòng thứ trong dòng tiếp theo chứa số nguyên dƣơng

Kết quả xuất ra tập tin văn bản MODULO.OUT gồm dòng. Dòng thứ chứa một số nguyên

dƣơng là giá trị của phép chia lấy phần dƣ cho

Ví dụ:

MODULO.INP MODULO.OUT

5 7

50

130

79

42

27

1

4

2

0

6

Page 89: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 89

TIỀN Hóa ra ai cũng cần tiền, kể cả phù thủy. Họ sử dụng các đồng vàng, bạc và đồng, gọi tƣơng ứng

là Galeon, Sikel và Knat. Một Galeon ăn 17 sikel, một sikel ăn 29 knat. Mọi giá cả nêu sau đều

theo các đơn vị kể trên. Trong mỗi giá số sikel không quá 16, số knat – không quá 28.

Trƣớc khi vào nhập học ở Hogvard Harry Potter rút ở ngân hàng Gringot một số tiền để mua một

số học cụ cần thiết nhƣ đãu thần, cú, chậu thiếc, áo choàng, . . . Số tiền Harry rút ra là g Galeo, s

Sikel và k Knat. Harry cần mua tất cả là n thứ. Vật thứ i có giá là (pi, qi, ri), i = 1 ÷ n, (0 ≤ n ≤

105).

Yêu cầu: Hãy xác định số tiền Harry còn lại sau khi sắm mọi thứ. Nếu Harry không đủ tiền thì

đƣa ra số -1.

Dữ liệu: Vào từ file văn bản MONEY.INP:

Dòng đầu tiên chứa 3 số nguyên g, s và k (0 ≤ g ≤ 105),

Dòng thứ 2 chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa 3 số nguyên pi, qi, ri (0 ≤ pi ≤ 105).

Kết quả: Đƣa ra file văn bản MONEY.OUT trên một dòng 3 số nguyên xác địn số tiền còn lại

của Harry hoặc số -1.

Ví dụ:

MONEY.INP MONEY.OUT

5 16 10

2

3 9 21

0 4 0

2 2 18

Page 90: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 90

KHẢM TRANH Một họa sỹ đã lấy cảm hứng từ các tranh khảm sành sứ nổi tiếng để tạo ra một tƣờng phái nghệ

thuật riêng – nghệ thuật khảm tranh bằng màu. Trên tấm

vải nền màu trắng kích thƣớc w×h ô ông vẽ n hình chữ

nhật có màu khác màu nền(màu trắng). Hình chữ nhật thứ i

đƣợc xác định bởi cặp tọa độ đỉnh đối (x1i, y1i) và (x2i,

y2i), 0 ≤ x1i, x2i ≤ w, 0 ≤ y1i, y2i ≤ h, 1 ≤ w, h ≤ 100, i = 1

÷ n, 0 ≤ n ≤ 5 000.

Hình bên ứng với trƣờng hợp w = h = 5, n = 2, hình chữ

nhật thứ nhất đƣợc xác định bởi cặp điểm (1, 1) và (3, 3),

hình chữ nhật thứ 2 – cặp điểm (2, 4) và (4, 2).

Phần vải còn để mộc (chƣa bị tô) có diện tích là 18.

Yêu cầu: Cho w, h, n và tọa độ các điểm xác định từng hình chữ nhật. Hãy xác định phần vải

còn đƣợc để mộc.

Dữ liệu: Vào từ file văn bản MOSAIC.INP:

Dòng đầu tiên chứa 2 số nguyên w và h,

Dòng thứ 2 chứa số nguyên n,

Dòng thứ i trong n dòng còn lại chứa 4 số nguyên x1i, y1i, x2i và y2i.

Kết quả: Đƣa ra file văn bản MOSAIC.OUT một số nguyên – diện tích phần để mộc.

Ví dụ:

MOSAIC.INP MOSAIC.OUT

5 5

2

1 1 3 3

2 4 4 2

18

Page 91: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 91

ĐẶT THÁP PHÕNG THỦ Ở CÁC NGỌN NÖI

Chính phủ Việt Nam lên kế hoạch xây dựng ở vùng đồi núi tại biên giới với các pháo đài phòng

thủ để bảo vệ chủ quyền toàn vẹn lãnh thổ. Dãy núi trong vùng này là dãy đứt gãy cấu tạo từ n

liên kết liên tiếp nhau kết nối n+1 đỉnh. Các đỉnh này đánh số từ 0 đến n theo thứ tự tăng dần

hoành độ x. Các liên kết đƣợc đánh số từ 1 đến n trong đó liên kết i nối các đỉnh i-1 và i.

Đỉnh số 0 nằm ở điểm có tọa độ là (0, 0). Liên kết thứ i đƣợc đƣa ra bởi hai số di – độ dài hình

chiếu trên trục Ox và ki – hệ số góc. Nhƣ vậy, nếu đỉnh với i-1 có các tọa độ (xi-1, yi-1) thì tọa độ

đỉnh i có thể đƣợc tính là (xi-1+di, yi-1+ki.di). Đỉnh cuối cùng nằm trên trục Ox có nghĩa là yn = 0.

Điểm A(xA, yA) nằm trên đƣờng nhìn thấy từ điểm B(xB, yB) nếu không có điểm nào của đoạn

thẳng AB nằm dƣới đƣờng đứt gãy.

Tháp là một đoạn thẳng thẳng đứng có độ dài khác không và điểm thấp nhất của tháp nằm trên

đƣờng đứt gãy. Công dân của đất nƣớc chỉ cảm thấy an toàn khi điểm cao nhất của tháp nằm trên

đƣờng nhìn thấy của ngƣời đó.

Cho điểm cao nhất của tháp có tọa độ (x, y). Hai trinh sát chạy từ điểm thấp nhất của tháp tƣơng

ứng sang hƣớng tây( tới hƣớng giảm dần về hoành độ x) và sang hƣớng đông ( tới hƣớng tăng

dần về hoành độ x). Mỗi trinh sát chạy theo bề mặt dãy núi đến khi bƣớc di chuyển tiếp theo của

anh ta không vƣợt quá tầm nhìn của anh ấy với điểm cao nhất của tháp hoặc đến biên của dãy

núi.

Chính phủ đã chuẩn bị q phƣơng án bố trí các tháp, mỗi tháp đƣợc xác định là hai số nguyên (uj,

vj) – tọa độ điểm cao nhất của tháp.

Yêu cầu: Hãy với mỗi phƣơng án bố trí tháp xác định hoành độ x của hai điểm mà hai trinh sát

chạy đến đƣợc.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên n và q (1 ≤ n, q ≤ 400000)– số lƣợng liên kết của dãy đứt gãy

và số lƣợng phƣơng án đặt tháp.

Giới hạn các đại lƣợng dữ liệu vào phụ thuộc vào giá trị hằng số C có thể là 104 hoặc 10

9 phụ

thuộc vào bài toán con.

Page 92: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 92

Mỗi dòng trong n dòng tiếp theo chứa hai số nguyên di, ki (1 ≤ di ≤ C; -C ≤ ki ≤ C)– hình chiếu

trên trục Ox và hệ số góc của liên kết thứ i của dãy đứt gãy. (0=x0 < x1 < x2 < …< xi < … < xn ≤

C; y0 = yn = 0; -C ≤ yi ≤ C).

Mỗi dòng của q dòng tiếp theo chứa hai số nguyên uj, vj (0 ≤ uj ≤ C, -C ≤ vj ≤ C)- các tọa độ điểm

trên cùng của tháp bố trí theo phƣơng án j.

Dữ liệu ra

Dữ liệu ra phải chứa q dòng, mỗi dòng chứa hai số nguyên lj và rj – tọa độ x của hai điểm mà

hai trinh sát chạy đến đƣợc, hƣớng về phía tây và hƣớng về phía đông tƣơng ứng với phƣơng án

bố trí tháp thứ j. Đảm bảo số lj và rj là các số nguyên.

Ví dụ:

MOUTAIN.INP MOUTAIN.OUT

6 1

3 1

2 -1

1 1

1 -1

1 1

2 -1

5 3

3 8

5 3

1 1

1 -2

2 0

2 1

1 -1

3 0

3 5

3 3

1 6

0 7

0 6

6 4

1 2

2 -2

1 1

1 -2

4 1

1 -1

1 4

3 4

10 4

7 4

0 4

1 9

4 10

1 10

Page 93: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 93

8 4

1 -3

2 0

1 1

2 0

1 -3

1 3

1 2

1 0

2 -2

6 -1

6 4

7 -4

0 6

4 9

0 10

6 9

Ví dụ 1

Page 94: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 94

Ví dụ 2

Ví dụ 3

Page 95: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 95

Ví dụ 4

Page 96: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 96

MP3 PLAYER

Steve mới mua một máy nghe nhạc MP3. Việc đầu tiên Steve làm là nạp từ máy tính các bài hát

mà mình yêu thích cùng với playlist tƣơng ứng gồm n tên bài hát khác nhau (2 ≤ n ≤ 2000).

Vốn đã nghe nhiều lần trên máy tính, Steve thuộc làu trình tự các bài hát trong playlist. Nghe

toàn bộ playlist vài lần, Steve xác lập chế độ “xáo trộn” và kinh ngạc nhận thấy không có hai bài

hát kề nhau trong playlist đƣợc phát liên tiếp và theo theo đúng trình tự đã nêu.

Các bài hát đƣợc đánh số từ 1 đến n theo trình tự ghi trong playlist. Steve băn khoăn, không biết

kiểu xáo trộn này sẽ đƣợc thực hiện bao nhiêu lần với playlist đã nạp.

Yêu cầu: Hãy xác định số lần xáo trộn với playlist có n bài hát khác nhau. Kết quả có thể rất lớn,

vì vậy chỉ cần đƣa ra theo mô đun m (2 ≤ m ≤ 109).

Dữ liệu: Vào từ file văn bản MP3.INP gồm một dòng chứa 2 số nguyên n và m.

Kết quả: Đƣa ra file văn bản MP3.OUT một số nguyên – kết quả tìm đƣợc.

Ví dụ:

MP3.INP MP3.OUT

5 1000000

53

Page 97: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 97

NGÔN NGỮ MUMBA

Mỗi từ trong ngôn ngữ của bộ tộc Mumba hình thành từ các ký tự a và b theo quy tắc sau:

Không chứa 2 ký tự b liên tiếp,

Không có ba từ con giống nhau đứng liên tiếp trong một từ, nhƣ vậy aaa không phải là

một từ (có 3 từ con a liên tiếp), aabababa cũng không phải là một từ (có 3 từ con ab

liên tiếp).

Tất cả các xâu thỏa mãn những điều kiện trên đề là từ trong ngôn ngữ Mumba.

Yêu cầu: Cho số nguyên k (1 ≤ k ≤ 105). Hãy xác định số từ trong ngôn ngữ Mumba có độ dài

đúng bằng k.

Dữ liệu: Vào từ file văn bản MUMBA.INP gồm một dòng chứa số nguyên k.

Kết quả: Đƣa ra file văn bản MUMBA.OUT một số ngyên – kết quả tìm đƣợc.

Ví dụ:

MUMBA.INP MUMBA.OUT

5 7

Page 98: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 98

CÁCH TIẾP THEO

Có nhiều cách biểu diễn một số nguyên n thành tổng các số nguyên dƣơng. Ví dụ, với n = 5 ta

có 7 cách biểu diễn:

5 = 1 + 1 + 1 + 1 + 1

5 = 1 + 1 + 1 + 2

5 = 1 + 1 + 3

5 = 1 + 2 + 2

5 = 1 + 4

5 = 2 + 3

5 = 5

Các cách biểu diễn đƣợc liệt kê theo thứ tự từ điển tăng dần và các toán hạng cũng dẫn xuất theo

thứ tự tăng dần.

Yêu cầu: Cho một cách phân tích số nguyên n ( 1 ≤ n ≤ 100 000). Hãy xác định cách phân tích

tiếp theo theo thứ tự từ điển hoặc thông báo No solution nếu không tồn tại cách tiếp theo.

Dữ liệu: Vào từ file văn bản NEXT_M.INP gồm một dòng chứa cách phân tích (xem ví dụ).

Kết quả: Đƣa ra file văn bản NEXT_M.OUT cách phân tích tìm đƣợc hoặc thông báo No

solution.

Ví dụ:

NEXT_M.INP NEXT_M.OUT

5=1+1+3

5=1+2+2

Page 99: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 99

KHÔNG ĐƠN GIẢN

Không phải cứ ngắn gọn là dễ! Bạn có thể kiểm chứng điều đó ở bài toán sau: Cho 3 số nguyên

A, B, C (1 ≤ A, B, C ≤ 1018

). Hãy tìm số dƣ khi chia AB cho C.

Dữ liệu: Vào từ file văn bản NOSIMPLE.INP gồm một dòng chứa 3 số nguyên A, B, C.

Kết quả: Đƣa ra file văn bản NOSIMPLE.OUT một số nguyên – số dƣ tìm đƣợc.

Ví dụ:

NOSIMPLE.INP NOSIMPLE.OUT

3 4 5 1

Page 100: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 100

NTFS Nếu đĩa cứng máy tính đƣợc format theo chế độ NTFS thì bộ nhớ đƣợc phân phối cho các file

chứa trong đĩa cứng theo đơn vị cluster, mỗi cluster là một vùng nhớ có kích thƣớc 4KB

(1KB = 1024 byte). Nhƣ vậy dù tập tin có kích thƣớc nhỏ hơn hoặc bằng 4KB thì nó cũng chiếm

một vùng nhớ 4KB trên đĩa.

Yêu cầu: cho số nguyên dƣơng là kích thƣớc của một tập tin theo đơn vị byte. Hãy

xác định kích thƣớc theo KB mà tập tin chiếm trên đĩa cứng NTFS.

Dữ liệu: nhập từ bàn phím số nguyên dƣơng .

Kết quả: xuất ra màn hình kích thƣớc theo KB mà tập tin chiếm giữ.

ụ:

NTFS.INP NTFS.OUT

4097 8

Page 101: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 101

SỐ THÂN THIỆN

Số tự nhiên có rất nhiều tính chất thú vị. Ví dụ với số 23, số đảo ngƣợc của nó là 32. Hai số này

có ƣớc chung lớn nhất là 1. Những số nhƣ thế đƣợc gọi là số thân thiện, tức là số 23 đƣợc gọi là

số thân thiện, số 32 cũng đƣợc gọi là số thân thiện.

Yêu cầu: cho 2 số nguyên . Đếm số lƣợng số thân thiện trong đoạn giá trị

.

Dữ liệu: vào từ tập tin văn bản NUMFRE.INP chứa 2 số .

Kết quả: ghi ra tập tin văn bản NUMFRE.OUT số lƣợng số thân thiện tìm đƣợc.

Ví dụ:

NUMFRE.INP NUMFRE.OUT

20 30 3

Page 102: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 102

NUMPOS Phong đƣợc lớp trƣởng phân công trực nhật vì vậy hôm nay bạn đến trƣờng sớm, giặt khăn lau

bảng và xóa bảng. Đang xóa bỗng Phong nhận thấy dãy số mà mình đã xóa một phần khá đặc

biệt, phần đầu của nó là

1 2 3 2 3 4 3 4 5 4 5 6 5 6 7

Đáng tiếc, phần còn lại của dãy đã bị xóa mất. Cuối cùng Phong cũng xóa xạch bảng trƣớc khi

chuông reng vào lớp, nhƣng dãy số trên vẫn cứ lởn vởn mãi trong đầu

Buổi tối khi đi ngủ, Phong lại nghĩ về dãy số này. Phong nhận thấy số 1 xuất hiện 1 lần trong

dãy, số 2 xuất hiện 2 lần và lần đầu ở vị trí thứ 2, số 3 xuất hiện 3 lần và lần đầu ở vị trí thứ 3,

nhƣng số 4 thì lần đầu tiên xuất hiện không ở vị trí thứ 4. Tổng quát hơn số k sẽ xuất hiện lần

đầu ở vị trí thứ mấy trong dãy.

Bạn có thể giúp Phong tìm ra vị trí xuất hiện đầu tiên của số nguyên trong dãy không?

Dữ liệu đƣợc nhập từ bàn phím số nguyên

Kết quả xuất ra màn hình vị trí xuất hiện đầu tiên của số nguyên

ụ:

NUMPOS.INP NUMPOS.OUT

5 9

Page 103: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 103

TRÕ CHƠI VỚI DÃY SỐ

Tí rất thích môn Số học nên thƣờng nghĩ ra các câu đố có liên quan đến những con số để đố Tèo

là em trai mình. Lần này Tí có số nguyên dƣơng , cậu ta đố em trai thực hiện các

thao tác sau trên dãy số:

- Chọn 2 số bất kỳ có giá trị khác nhau trong dãy

- Giảm giá trị của số lớn hơn đi một đại lƣợng bằng giá trị của số nhỏ hơn còn lại.

Tèo có thể thực hiện các thao tác trên với số lần tùy thích sao cho tổng các phần tử của dãy là

nhỏ nhất có thể có.

Dữ liệu vào từ tập tin văn bản NUMQUIZ.INP

- Dòng đầu chứa số nguyên dƣơng

- Dòng tiếp theo chứa số nguyên dƣơng

Kết quả xuất ra tập tin văn bản NUMQUIZ.OUT số nguyên duy nhất là giá trị tổng nhỏ nhất

ụ:

NUMQUIZ.INP NUMQUIZ.OUT

2

1 2

2

Page 104: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 104

CON SỐ BÍ ẨN

Cho 5 số nguyên dƣơng , trong đó 4 số có cùng giá trị , số còn lại có giá trị

. Ví dụ hình minh họa 4 số có cùng giá trị và giá trị còn lại là .

Nhiệm vụ của bạn là chỉ ra giá trị và vị trí của số mang giá trị .

Dữ liệu: vào từ tập tin văn bản ODDNUM.INP năm số nguyên dƣơng theo thứ tự

.

Kết quả: ghi ra tập tin văn bản ODDNUM.OUT hai số nguyên dƣơng: số đầu tiên là giá trị ; số

tiếp theo là vị trí của số mang giá trị .

ụ:

ODDNUM.INP ODDNUM.OUT

3 7 3 3 3 7 2

3 7 3 3 3

1 2 3 4 5

Page 105: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 105

LUYỆN TẬP DỰ THI HỌC SINH GIỎI Để chuẩn bị cho kỳ thi học sinh giỏi môn tin học, thầy giáo ra bài tập đƣợc

đánh số từ 1 đến . Mỗi bài tập nhằm rèn luyện một số kỹ năng nào đó.

Nhằm định hƣớng cho quá trình tự luyện tập đƣợc hiệu quả, mỗi bài tập có một yêu cầu tối thiểu

về trình độ kỹ năng. Để giải đƣợc bài thứ , học sinh cần có trình độ kỹ năng tối thiểu là . Điều

này có nghĩa là học sinh có thể giải đƣợc bài thứ khi và chỉ khi có trình độ kỹ năng bằng hoặc

lớn hơn . Nếu giải đƣợc bài thứ trình độ kỹ năng của học sinh sẽ tăng thêm một lƣợng là

. Giả sử ban đầu trình độ kỹ năng của học sinh trƣớc khi làm bài tập là

. Các bài tập có thể đƣợc làm theo trình tự bất kỳ tùy chọn.

Ví dụ, với trình độ kỹ năng ban đầu là và các giá trị tƣơng ứng là (1, 10), (21,

5), (1, 10), (100, 100), học sinh sẽ giải bài 1, sau đó làm bài 3 và cuối cùng làm bài 2. Nhƣ vậy

học sinh sẽ giải đƣợc tất cả 3 bài.

Yêu cầu: cho các số nguyên và cặp giá trị . Hãy xác định số lƣợng bài tối đa có thể

đƣợc giải.

Dữ liệu: vào từ tập tin văn bản OLYMPIC.INP có cấu trúc nhƣ sau:

- Dòng đầu tiên chứa 2 số nguyên

- Dòng thứ trong dòng tiếp theo chứa 2 số nguyên

Kết quả: xuất tập tin văn bản OLYMPIC.OUT một số nguyên – số lƣợng bài tối đa có thể đƣợc

giải.

Ví dụ:

OLYMPIC.INP OLYMPIC.OUT

4 1

1 10

21 5

1 10

100 100

3

Page 106: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 106

SẮP XẾP ẢO

Một nhà lập trình nổi tiếng thử công việc của mình nhƣ là nhà ảo thuật. Ông hƣớng sự tập trung

của mọi ngƣời vào công việc nhƣ sau.

Cho một mảng gồm n số nguyên không âm a1, a2, a3,…, an ông ấy nhặt ra con số kỳ diệu b. Một

số nguyên không âm b đƣợc gọi là con số kỳ diệu đối với mảng nếu nhƣ thực hiện phép toán

XOR của số b này với mỗi phần tử của mảng làm chuyển đổi mảng thành thứ tự tăng dần. Có thế

nói nhƣ sau:

(a1 b) (a2 b) … (an b)

Trong đó là phép toán XOR.

Để thu hút sự tập trung của khán giả hiệu quả hơn nữa, sau khi đƣa ra số kỳ diệu của mảng nhà

ảo thuật thực hiện q lần hành động nhƣ sau. Ông ấy đề nghị khán giả thay đổi một phần tử của

mảng và sau đó lại đƣa ra số kỳ diệu. Về việc này nhà lập trình có nhiều số kỳ diệu và mỗi lần

đƣa ra cho khán giả số kỳ diệu nhỏ nhất. Thỉnh thoảng nhà ảo thuật làm khản giả giảm hứng thú

vì không tìm đƣợc số kỳ diệu.

Yêu cầu viết chƣơng trình từ mảng cho trƣớc và sau mỗi lần thay đổi phần tử của mảng hãy tìm

số kỳ diệu cho mảng này hoặc thông báo không tìm đƣợc.

Chú ý:

Lệnh XOR – là lệnh logic ký hiệu có bảng chân trị nhƣ sau:

x y x y

0 0 0

0 1 1

1 0 1

1 1 0

Ví dụ: 5 22 = 1012 101102 = 100112 = 19.

Dữ liệu vào từ file văn bản ORDER.INP

Dòng đầu tiên chứa số nguyên n số lƣợng phần tử trong mảng (1 ≤ n ≤ 106).

Dòng thứ hai chứa n số nguyên a1, a2,…,an – các phần tử của

mảng (0 ≤ ai < 230

).

Page 107: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 107

Dòng thứ ba chứa số nguyên q – số lƣợng thay đổi các phần tử của

mảng ( 0 ≤ q ≤ 106 ).

Tiếp theo là q dòng chứa hai số nguyên pi, vi , trong đó pi – vị trí của mảng mà sẽ thay đổi

giá trị mới (1 ≤ pi ≤ n) còn vi – giá trị mới của phần tử

này (0 ≤ vi < 230

).

Dữ liệu ra file văn bản ORDER.OUT

Đƣa ra (q + 1) số nguyên b0, b1, b2,…,bq cùng trên một dòng.

Giá trị b0 – hoặc là số kỳ diệu của mảng hoặc là -1 nếu không tồn tại số kỳ diệu đối với

mảng này.

Đối với i từ 1 đến q giá trị bi – hoặc là số kỳ diệu của mảng sau i lần đầu thay đổi hoặc -1

nếu không tồn tại số kỳ diệu đối với mảng này.

Ví dụ:

ORDER.INP ORDER.OUT

3

0 1 4

3

2 7

3 3

1 4

0

2

-1

4

Page 108: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 108

HỆ ĐIỀU HÀNH

Đĩa cứng của Steve có M sectors (1 ≤ M ≤ 109). Các sectors đƣợc đánh số từ 1 đến M. Steve lần

lƣợt cài các hệ điều hành khác nhau theo cách sau: tạo một vùng mới từ sector ai sector bi (kể

cả bi), cài tiếp lên đó hệ điều hành mới.

Nếu vùng này đè lên dù chỉ một sector của

một vùng nào trƣớc đó thì hệ thống đã cài ở

vùng đó sẽ bị hỏng, không khai thác tiếp

đƣợc.

Yêu cầu: Cho M, n – số lần cài đặt (0 ≤ n ≤

100 000) và các giá trị ai, bi (i = 1 ÷ n).

Hãy xác định số Hệ điều hành còn khai

thác đƣợc.

Dữ liệu: Vào từ file văn bản OS.INP:

Dòng đầu tiên chứa số nguyên M,

Dòng thứ 2 chứa số nguyên n,

Dòng thứ i trong n dòng sau chứa 2 số nguyên ai và bi.

Các dữ liệu đƣợc đƣa theo trình tự cài đặt.

Kết quả: Đƣa ra file văn bản OS.OUT một số nguyên – số hệ điều hành hoạt động đƣợc.

Ví dụ:

OS.INP OS.OUT 10

4

1 3

4 5

7 8

4 6

3

Page 109: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 109

SỐ ĐỐI XỨNG Số đối xứng là số có thể viết từ trái sang phải các chữ số của nó ta vẫn đƣợc chính nó. Từ một số

có 2 chữ số, ta có thể nhận đƣợc một số đối xứng theo cách sau: lấy số ban đầu cộng với số phản

xạ gƣơng của nó, tức là số nhận đƣợc bằng cách đọc các chữ số từ phải sang trái. Nếu chƣa phải

là số đối xứng, số đó lại cộng với ánh xạ gƣơng của nó và tiếp tục nhƣ vậy cho tới khi nhận đƣợc

số đối xứng.

Ví dụ từ 48 ta có . Nhƣ vậy 363 là số đối xứng tƣơng ứng với

48.

Yêu cầu: cho số nguyên dƣơng , tìm số đối xứng tƣơng ứng của .

Dữ liệu: vào từ tập tin văn bản PALNUM.INP chứa số nguyên dƣơng

Kết quả: ghi ra tập tin văn bản PALNUM.OUT số đối xứng tƣơng ứng.

Ví dụ:

PALNUM.INP PALNUM.OUT

48 363

Page 110: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 110

TRÔNG XE

Một bãi đỗ xe nhận trông xe trong vòng một tháng. Mỗi xe sẽ đƣợc gắn một số hiệu là một số

nguyên dƣơng . Hai xe khác nhau sẽ đƣợc gắn hai số hiệu khác

nhau. Một xe có thể ra vào bãi đỗ xe nhiều lần, mỗi lần vào bãi đỗ xe, ngƣời trông xe sẽ ghi vào

sổ sách số hiệu của chiếc xe đó.

Cuối tháng dựa vào sổ ghi chép, ngƣời trông xe làm thống kê về số lần vào bãi đỗ xe của từng

chiếc xe để tiến hành thu phí. Nếu một chiếc xe vào bãi đỗ xe lần, cuối tháng chủ xe phải trả

một lƣợng phí đƣợc tính nhƣ sau:

Yêu cầu: Tính tổng số phí ngƣời trông xe thu đƣợc vào cuối tháng.

Dữ liệu: vào từ tập tin văn bản PARK.INP có dạng:

- Dòng đầu chứa một số nguyên dƣơng

- dòng tiếp theo, mỗi dòng chứa số hiệu của một chiếc xe

Kết quả: ghi ra tập tin văn bản PARK.OUT một số nguyên là tổng số phí thu đƣợc.

ụ:

PARK.INP

PARK.OUT

7

10102010

10108888

10102010

10102010

10102010

10102010

10102010

201

Page 111: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 111

ĐỖ XE Ở thời đại khi ô tô bay phát triển, nạn kẹt xe giảm hẳn, nhƣng lại xuất hiện những vấn đề mới.

Bất chấp những quy định nghiêm ngặt nhất, nhiều ngƣời vẫn đỗ xe lung tung khắp nơi, kể cả trên

thảm cỏ xanh đƣợc chăm sóc hết sức cẩn thận ở quảng trƣờng trung tâm thành phố. Ngƣời ta

phải dựng các chốt chống đỗ xe.

Thảm cỏ có dạng hình chữ nhật kích thƣớc ô. Mỗi xe khi đỗ cần đúng một ô trống không

có vật cản (kể cả ở trên biên). Việc xây dựng các chốt chống đỗ xe

cũng khá tốn kém và nếu dựng quá nhiều cũng sẽ mất mỹ quan. Vì

vậy ngƣời ta cố gắng dựng càng ít càng tốt. Ví dụ, với

thì chỉ cần dựng một chốt ở tâm là đủ.

Yêu cầu: Cho . Hãy xác định số chốt ít nhất

cần dựng.

Dữ liệu: vào từ tập tin văn bản PARKING.INP chứa 2 số nguyên

và .

Kết quả: ghi ra tập tin văn bản PARKING.OUT số lƣợng chốt ít nhất cần dựng.

Ví dụ:

PARKING.INP PARKING.OUT

2 2 1

Page 112: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 112

DÕ TÌM MẬT KHẨU

Phòng thí nghiệm của trung tâm công nghệ cao đƣợc trang bị khá nhiều thiết bị máy móc hiện

đại phục vụ cho công việc nghiên cứu. Các cửa ra vào đều đƣợc trang bị hệ thống nhận dạng thẻ

từ hiện đại. Tuy nhiên, các nhà nghiên cứu thƣờng là những ngƣời đãng trí nên họ hay để quên

hoặc làm rớt thẻ từ.

Mặc dù các nhà nghiên cứu hay đãng trí nhƣng họ rất thông minh và giỏi lập trình nên giám đốc

liền nghĩ ra một cách thức nhận dạng mới mà không cần dùng đến thẻ từ. Trƣớc mỗi cửa ra vào,

giám đốc cho thiết kế một bảng điện tử cứ sau mỗi giây sẽ hiển thị 1 dãy hàng ngang gồm rất

nhiều số nguyên dƣơng. Mật khẩu để mở cửa chính là chuỗi số đƣợc tạo thành bằng cách ghép

cặp số ở 2 vị trí khác nhau theo đúng thứ tự xuất hiện của chúng trong dãy thỏa điều kiện tổng

các chữ số của cặp số này là khác nhau và lệch nhau nhỏ nhất. Nếu trong dãy tồn tại nhiều cặp

phần tử nhƣ thế thì chọn cặp phần tử trái nhất.

Ví dụ dãy số hiển thị trên bảng nhƣ sau:

Dãy số 75 305 19 221 43 1592 36

Giá trị tổng các chữ số 12 8 10 5 7 20 9

Cặp số 305 và 43 là cặp số đầu tiên tính từ trái sang có tổng các chữ số là 8 và 7 tƣơng ứng, độ

lệch tổng các chữ số của cặp này là 1, trong trƣờng hợp này mật khẩu để mở cửa là 30543. Một

nghiên cứu viên tập sự đang gặp khó khăn trong việc xác định mật khẩu theo phƣơng pháp của

giám đốc đƣa ra. Bạn hãy giúp nghiên cứu viên này tìm ra mật khẩu để mở cửa trong thời gian

nhanh nhất có thể.

Dữ liệu: vào từ tập tin văn bản PASSWORD.INP:

- Dòng đầu ghi số nguyên dƣơng

- Dòng tiếp theo ghi số nguyên là các số hiển thị trên bảng điện

tử

- Dữ liệu đƣợc cho đảm bảo tồn tại ít nhất 2 phần tử có tổng các chữ số là khác nhau

Kết quả: xuất ra tập tin văn bản PASSWORD.OUT là mật khẩu tìm đƣợc.

Ví dụ:

PASSWORD.INP PASSWORD.OUT

7

75 305 19 221 43 1592 36

30543

Page 113: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 113

ĐỒNG DIỄN

Để chuẩn bị cho lễ khai mạc Hội khỏe Phù Đổng đơn vị đăng cai tổ chức một màn đồng diễn.

Các học sinh biểu diễn xếp thành một khối, có n hàng ngang. Theo hàng ngang các học sinh

trong hàng có cùng độ cao. Theo hàng dọc – độ cao tăng dần. Các độ cao đƣợc đánh số từ 1 đến

n. Theo lệnh “Từ a đến b – Đổi chổ!” trong mỗi hàng dọc học sinh phải đổi chổ nhƣ sau: gọi ap

là vị trí của học sinh có độ cao a và bp là vị trí của học sinh có độ cao b, các học sinh trong

khoảng min(ap, bp) tới max(ap, bp) đảo ngƣợc chổ cho nhau (xem hình vẽ).

Hôm nay là buổi tổng diễn tập cuối cùng. Ban Tổ chức chuẩn bị sẵn dãy câu lệnh m câu lệnh và

muốn biết trình tự độ cao cuối cùng theo hàng dọc là nhƣ thế nào. Các câu lệnh đảm bảo dãy các

học sinh đổi chổ hoặc rời nhau hoặc lồng nhau.

Dữ liệu: Vào từ file văn bản PERFORM.INP:

Dòng đầu tiên chứa 2 số nguyên n và m (1 ≤ n ≤ 105, 1 ≤ m ≤

2

n),

Mỗi dòng trong m dòng sau chứa 2 số nguyên a và b xác định một câu lệnh. Các câu lệnh

đƣợc nêu theo trình tự thực hiện.

Kết quả: Đƣa ra file văn bản PERFORM.OUT một dòng chứa n số nguyên xác định trình tự độ

cao theo hàng dọc.

Ví dụ:

PERFORM.INP PERFORM.OUT

4 2

1 4

2 3

4 2 3 1

Page 114: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 114

GIỜ THỂ DỤC

Trƣờng có nhiều lớp nhƣng chỉ có một thầy giáo thể dục, vì vậy có giờ n lớp phải học chung.

Trên sân tập học sinh mỗi lớp xếp thành một hàng dọc, nam nữ đan xen nhau theo trình tự bất

kỳ. Với nhiều hàng rất khó làm việc vì vậy thầy giáo chọn một hàng làm đầu, sau đó chỉ định

từng lớp đứng tiếp vào cuối hàng. Khi hàng lớp mình gắn vào hàng chung, các học sinh mỗi lớp

không thay đổi vị trí của mình trong hàng ban đầu.

Sau khi nhận đƣợc một hàng duy nhất, thầy giáo yêu cầu các học sinh đếm từ đầu đến cuối:

ngƣời thứ nhất hô: “Một”, ngƣời thứ 2 hô: “Hai”, ngƣời tiếp theo – “Một”, tiếp theo nữa – “Hai”,

cứ nhƣ vậy cho đến ngƣời cuối cùng. Tất cả những ngƣời số 1 sẽ chơi bóng đá, những ngƣời số 2

– chơi bóng chuyền.

Các bạn nam thích bóng đá hơn, còn nữ thì không, vì vậy thầy giáo luôn tìm cách tạo ra hàng sao

cho số học sinh nam đƣợc chơi bóng đá là nhiều nhất.

Hãy xác định số học sinh nam nhiều nhất đƣợc chơi bóng đá.

Dữ liệu: Vào từ file văn bản PHYSED.INP:

Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 105),

Mỗi dòng trong n dòng sau chứa xâu không rỗng độ dài không quá 100 bao gồm các ký

tự từ tập {B, G}, trong B là nam, G là nữ, xác định dòng xếp hàng của một lớp.

Tổng số lƣợng học sinh không quá 106.

Kết quả: Đƣa ra file văn bản PHYSED.OUT một số nguyên – số nhiều nhất học sinh nam đƣợc

chơi bóng đá.

Ví dụ:

PHYSED.INP PHYSED.OUT

4

GBG

BB

GG

BGG

3

Page 115: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 115

ĐA GIÁC Trên mặt phẳng có n đa giác không tự cắt, các đa giác đánh số từ 1 đến n. Ta nói rằng đa giác thứ

i nằm trong đa giác thứ j nếu mọi điểm thuộc đa giác thứ i đều nằm trong đa giác thứ j. Với hai

đa giác bất kì i và j ( i ≠ j) thỏa hoặc đa giác i nằm trong đa giác j hoặc đa giác j nằm trong đa

giác i.

Đa giác thứ k gọi là đa giác trung vị nếu có đúng m đa giác nằm trong đa giác thứ k với 2

nm

, trong đó 2

n

là số nguyên lớn nhất không lớn hơn 2

n .

Yêu cầu: Hãy tìm đa giác trung vị của n đa giác đã cho.

Dữ liệu : Vào từ file văn bản POLYGON.INP

Dòng đầu tiên là số n (2 ≤ n ≤ 104) – số đa giác.

n dòng tiếp theo, dòng thứ i mô tả đa giác thứ i : Đầu tiên là số đỉnh của đa giác ai ( 3 ≤ ai

≤ 100 ), tiếp theo là 2 × ai số nguyên có giá trị tuyệt đối không vƣợt quá 2 × 109 : xi1, yi1,

xi2, yi2, … với (xi1, yi1), (xi2, yi2),… lần lƣợt là tọa độ các đỉnh của đa giác đƣợc liệt kê

theo một chiều nào đó.

Kết quả: Ghi ra file văn bản POLYGON.OUT số nguyên k – chỉ số của đa giác trung vị.

Ví dụ :

POLYGON.INP POLYGON.OUT

3

3 -2 1 8 9 12 1

3 7 5 6 3 7 4

4 4 3 7 7 9 3 1 2

3

Page 116: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 116

PHẦN THƯỞNG

Để tập cho các cháu mẫu giáo làm quen với số và các khái niệm “lớn hơn”, “bé hơn” cô giáo

chuẩn bị n hộp giấy, bên ngoài hộp giấy thứ i ghi số nguyên ai. Các số ghi ngoài hộp khác nhau

từng đôi một. Các hộp đƣợc bỏ vào một túi ni lông to sẫm màu để không đọc đƣợc số từ bên

ngoài. Đến giờ học toán cô giáo cho các em lần lƣợt lên bàn cô, mỗi em lấy ra hai hộp, sau đó bỏ

lại vào túi hộp có số nhỏ hơn và giữ cho mình hộp kia. Lớp học có tất cả n-1 em. Đứng quan sát,

cô giáo rất hài lòng là không em nào bỏ sai hộp trở lại vào túi. Sau khi cả lớp đã lấy xong hộp

của mình cô giáo đi phát phần thƣởng cho các em, mỗi em nhận đƣợc số viên kẹo đúng bằng số

ghi ở hộp mà các em có.

Phụ huynh học sinh cũng rất thích thú với phƣơng pháp giảng dạy sinh động này. Tuy vậy có

ngƣời lo lắng, lỡ thiếu kẹo phát cho những học sinh cuối cùng thì sao? Cô giáo cho biết là bao

giờ cũng phải chuẩn bị đủ số kẹo phát cho các cháu, không thừa và không thiếu lấy một viên!

Yêu cầu: Cho n và các số ai (1 ≤ ai ≤ 32 767, i = 1 ÷ n, 1 < n ≤ 105). Hãy xác định số kẹo cô

giáo cần chuẩn bị.

Dữ liệu: Vào từ file văn bản PRIZE.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ 2 chứa n số nguyên a1, a2, . . ., an.

Kết quả: Đƣa ra file văn bản PRIZE.OUT một số nguyên – số kẹo cần chuẩn bị.

Ví dụ:

PRIZE.INP PRIZE.OUT 4

4 2 5 7

16

Page 117: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 117

BÌA ĐỤC LỖ

Page 118: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 118

ĐƯỜNG CHẠY Cơ sở mới của trƣờng đã đƣợc xây dựng xong, tuy vậy vẫn còn một số hạng mục chƣa hoàn

thành, ví dụ khu giáo dục thể chất ngoài trời. Nhà trƣờng cần hoàn thiện gấp đƣờng chạy cho các

tiết thể dục đầu năm học. Khu giáo dục thể chất ngoài trời có dạng lƣới ô vuông kích thƣớc n×m

ô. Các hàng và cột đánh số từ 1, từ

trên xuống dƣới và từ trái qua phải. Ô

xuất phát và ô kết thúc đƣờng chạy là

cố định và đƣợc cho trƣớc. Cần phải

tổ chức dọn dẹp, san lấp lấp các ô để

đƣợc một đƣờng chạy độ rộng một ô

và bao gồm các ô kề cạnh. Chi phí xử

lý các ô là khác nhau, vì vậy cần chọn

đƣờng chạy sao cho chí phí chuẩn bị

là nhỏ nhất.

Yêu cầu: Cho n, m, (xs,ys) – tọa độ ô xuất phát, (xf, yf) – tọa độ ô kết thúc và chi phí dọn dẹp

cij ở mỗi ô (i, j). Hãy xác định chi phí nhỏ nhất để chuẩn bị đƣờng chạy và chỉ ra các ô cần xử

lý. Nếu có nhiều phƣơng án thì đƣa ra phƣơng án bất kỳ.

Dữ liệu: Vào từ file văn bản ROAD.INP:

Dòng đầu tiên chứa 2 số nguyên n và m ( 1 ≤ n, m ≤ 100),

Mỗi dòng trong n dòng tiếp theo chứa m số nguyên xác định chi phí xử lý các ô trên dòng

(mỗi số không vƣợt quá 100),

Dòng n+2 chứa 2 số nguyên xs và ys,

Dòng cuối cùng chứa 2 số nguyên xf và yf.

Kết quả: Đƣa ra file văn bản ROAD.OUT:

Dòng đầu tiên chứa một số nguyên – chi phí dọn dẹp đƣờng chạy,

Mỗi dòng trong n dòng tiếp theo chứa m số nguyên 0 hoặc 1, giá trị 1 tƣơng ứng với ô

cần xử lý.

Ví dụ:

ROAD.INP ROAD.OUT

3 3

1 1 1

1 1 1

10 1 1

1 1

3 3

5

1 0 0

1 1 0

0 1 1

Page 119: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 119

ROBOT DI CHUYỂN Cho lƣới nguyên Oxy. Điểm nguyên và

điểm nguyên đƣợc gọi là kề nhau nếu

thỏa điều kiện .

Một robot ban đầu đứng tại gốc tọa độ. Ở mỗi

bƣớc, robot sẽ di chuyển sang một điểm nguyên

kề với vị trí hiện tại.

Từ bƣớc di chuyển thứ 2 trở đi, robot có thể đi

tiếp theo hƣớng cũ, rẽ sang trái, rẽ sang phải

hay trở lại vị trí trƣớc đó.

Trong ví dụ ở hình bên, từ ô (0, 0), robot đi đến (1, 0), rẽ trái sang ô (1, 1), rẽ phải sang ô (2, 1),

rẽ phải sang ô (2, 0), rẽ trái sang ô (3, 0) cuối cùng rẽ phải sang ô (3, -1).

Yêu cầu: cho tọa độ các điểm nguyên mà robot đã đi qua. Hãy đếm xem robot đã rẽ phải bao

nhiêu lần.

Dữ liệu: đọc từ tập tin văn bản ROBOT.INP có cấu trúc sau:

- Dòng đầu tiên chứa 1 số nguyên dƣơng n (2 ≤ n ≤ 10000) là tổng số điểm nguyên mà robot

đã đi qua (kể cả vị trí xuất phát là gốc tọa độ)

- Dòng thứ i trong n dòng tiếp theo chứa 2 số nguyên là tọa độ điểm nguyên mà robot đã

đi qua.

Kết quả: xuất ra tập tin văn bản ROBOT.OUT gồm một số nguyên là số lần robot đã rẽ phải

Ví dụ

ROBOT.INP ROBOT.OUT

7

0 0

1 0

1 1

2 1

2 0

3 0

3 -1

3

Page 120: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 120

THỰC NGHIỆM KỸ THUẬT ROBOT

Trƣờng đại học Tatarstan là một trung tâm hàng đầu về kỹ thuật robot. Để giới

thiệu ngành học này cho các em học sinh phổ thông, trung tâm này đƣa ra một thực

nghiệm robot trong một không gian giới hạn. Thực nghiệm đƣợc tiến hành trên

một hình chữ nhật kích thƣớc ô vuông. Lúc bắt đầu thực nghiệm trong một

số ô cho trƣớc, đặt một robot chƣa đƣợc kích hoạt. Khi lệnh "Start" đƣợc ấn, thời

gian tín hiệu truyền trong mỗi giây. Sau mỗi tín hiệu thời gian nhƣng không chậm

hơn giây sau lệnh "Start", cho phép kích hoạt một vài robot. Mỗi ô trong hình

chữ nhật đƣợc sơn một trong bốn màu mà cảm biến của robot có thể nhận biết.

Màu sắc cho phép robot di chuyển từ ô của mình sang các ô kề bên: hƣớng bắc,

hƣớng nam, hƣớng đông, hoặc hƣớng tây. Ở mỗi thời điểm, mỗi robot đƣợc kích

hoạt di chuyển sang các ô kề tƣơng ứng với màu sắc mà ô nó đang đứng. Tất cả

robot kích hoạt đƣợc di chuyển đồng thời. Màu sắc đƣợc chọn lựa sao cho khi di

chuyển không có robot nào ra khỏi hình chữ nhật. Để tránh tình trạng xung đột, các

robot không đi vào ô của nhau mà va đập nhau. Va đập là khi hai hay nhiều robot

vào cùng một ô. Nếu xảy ra va đập thì thực nghiệm coi nhƣ thất bại. Thực nghiệm

thành công là khi cho tất cả robot di chuyển không va đập bao lâu cũng đƣợc. Kết

quả thực nghiệm là số lƣợng robot đƣợc kích hoạt.

Yêu cầu: Viết chƣơng trình kích hoạt giúp các em học sinh với hình chữ nhật, các

ô, trong đó đặt trƣớc các robot chƣa kích hoạt, hãy xác định số lƣợng kết quả lớn

nhất, và nếu yêu cầu cụ thể các robot nào và tại thời điểm thời gian nào đƣợc kích

hoạt để đạt đƣợc kết quả.

Dữ liệu vào

Dòng đầu tiên viết các số nguyên và , trong đó là kích thƣớc của

hình chữ nhật từ bắc xuống nam và từ tây sang đông ( , còn -

dấu hiệu hoặc , kí hiệu cần thiết xác định ô và thời điểm kích hoạt robot.

Page 121: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 121

Tiếp theo dòng, mỗi dòng chứa ký hiệu là màu của ô và cho phép đặt

robot kích hoạt trên nó. Màu sắc là chữ cái tiếng Anh tƣơng ứng với hƣớng di

chuyển. "N" hay "n" - bắc, "S" hay "s" - nam, "E" hay "e" - đông và "W" hay "w" -

tây.

Các ô mà trên nó đặt các robot chƣa kích hoạt kí hiệu chữ cái viết hoa, còn

các ô không có robot chữ cái thƣờng. Đảm bảo rằng có ít nhất một robot chƣa kích

hoạt.

Dữ liệu ra

Dòng đầu tiên đƣa một số - số lƣợng lớn nhất của thực nghiệm. Với dữ

liệu vào khi giá trị bằng 1 thì mỗi dòng của dòng tiếp theo đƣa ra ba số nguyên

và : số dòng và cột của ô kích hoạt robot, thời điểm kích hoạt robot

). Các dòng đánh số từ 1 đến từ trên xuống

dƣới (từ bắc xuống nam), còn cột từ 1 đến từ trái sang phải (từ tây sang đông).

Nếu có nhiều cách làm thì hãy đƣa ra cách làm bất kì.

Ví dụ:

ROBOTS.INP ROBOTS.OUT

3 4 0

SSSS

EESW

ENWW

4

3 4 1

SSSS

EeSW

ENwW

4

2 3 2

3 2 1

3 4 1

2 1 2

4 4 1

essS

Eess

Snww

EeWN

5

1 4 9

2 1 4

4 3 3

4 1 2

4 4 7

Page 122: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 122

RÔ BỐT

Trong mạng lƣới đƣờng ống dẫn dầu có n trạm điều áp, đánh số từ 1 đến n và có m đoạn đƣờng

ống, mỗi đoạn nối 2 trạm điều áp (2 ≤ n, m ≤ 105). Mạng có tính liên thông, tức là giữa hai trạm

điều áp bao giờ cũng có đƣờng ống nối với nhau (trực tiếp hoặc qua các trạm khác). Một đoạn

đƣờng ống đƣợc gọi là trục nếu nó hỏng thì hệ thống mất liên thông. Trong hệ thống mà chúng ta

đang xét có ít nhất một đoạn đƣờng trục.

Do tính chất quan trọng của đƣờng trục

nên chúng đƣợc ƣu tiên trong công tác

duy tu bảo dƣỡng. Ngƣời ta chế tạo 2 rô

bốt phục vụ kiểm tra đƣờng trục. Khi

đƣợc lệnh kiểm tra 2 rô bốt (có thể đang

ở những trạm khác nhau) sẽ lựa chọn

một đoạn đƣờng trục và đồng thời

chuyển động tập kết tới hai đầu của đoạn

đƣờng trục này, mỗi rô bốt tới một đầu

của đoạn trục. Rô bốt chuyển động theo đƣờng ống, mỗi đơn vị thời gian đi đƣợc một đơn vị độ

dài. Thời gian tập kết là thời gian cần thiết để rô bốt đến sau tới đƣợc vị trí tập kết của mình. Rô

bốt luôn lựa chọn đoạn đƣờng trục cho thời gian tập kết là nhỏ nhất.

Yêu cầu: Cho cấu hình của mạng, các trạm u, v đang giữ rô bốt. Hãy xác định thời gian tập kết.

Dữ liệu: Vào từ file văn bản ROBOTS.INP:

Dòng đầu tiên chứa 2 số nguyên n và m,

Mỗi dòng trong m dòng sau chứa 3 số nguyên x, y và d xác định đoạn đƣờng ống độ dài

d nối 2 trạm x và y,

Dòng cuối cùng chứa 2 số nguyên u và v.

Kết quả: Đƣa ra file văn bản ROBOTS.OUT một số nguyên – thời gian tập kết.

Ví dụ:

ROBOTS.INP ROBOTS.OUT 8 11

1 2 3

1 3 5

1 4 8

2 4 3

3 4 4

4 5 2

5 6 9

5 7 3

6 7 4

6 8 5

7 8 6

3 6

7

Page 123: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 123

QUAY BẢNG Cho 4 số nguyên đƣợc viết vào bảng vuông kích thƣớc theo thứ tự sau

Ta gọi giá trị của bảng trên bằng

Yêu cầu: Xác định số lƣợt quay bảng 90 độ theo chiều kim đồng hồ để đƣợc bảng có giá trị lớn

nhất. Nếu có nhiều cách quay bảng đƣợc cùng giá trị lớn nhất, chỉ ra số lƣợt quay ít nhất.

Dữ liệu: vào từ tập tin văn bản ROTATE.INP gồm 1 dòng chứa 4 số nguyên dƣơng

.

Kết quả: ghi ra tập tin văn bản ROTATE.OUT một số nguyên duy nhất là số lƣợt quay tối thiểu

tìm đƣợc.

ụ:

ROTATE.INP ROTATE.OUT

41 99 100 13 1

Page 124: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 124

THAM QUAN THÀNH PHỐ

Bờm lần đầu tiên đƣợc tham quan khu trung tâm lớn nhất của thành phố Megacity. Khu trung

tâm xây dựng nhiều con đƣờng nối từ Bắc xuống Nam và từ Đông sang Tây. Các con đƣờng

đƣợc đánh thứ tự từ 1 trở đi, bắt đầu từ góc dƣới bên trái (hình minh họa)

Bờm đang đứng tại

giao lộ của 2 con

đƣờng và và

cậu ta muốn đến

khu trung tâm mua

sắm nằm tại giao lộ

của 2 con đƣờng

và . Chẳng hạn

Bờm đang đứng tại giao lộ của 2 con đƣờng và , khu trung tâm mua sắm nằm tại

giao lộ và . Bờm có thể đi 1 đoạn về hƣớng Nam (S), 3 đoạn về hƣớng Đông (E)

và 1 đoạn về hƣớng Nam (một đoạn đƣợc tính bắt đầu từ một giao lộ đến một giao lộ liền kề trên

cùng hƣớng đi) hoặc một lộ trình khác là 2 đoạn về hƣớng Nam (S), 1 đoạn về hƣớng Đông (E),

1 đoạn về hƣớng Bắc (N), 2 đoạn về hƣớng Đông (E), 1 đoạn về hƣớng Nam (S).

Yêu cầu: hãy chỉ ra một lộ trình ngắn nhất hƣớng dẫn Bờm đến địa điểm cần tham quan.

Dữ liệu: vào từ tập tin văn bản ROUTE.INP gồm 4 số nguyên dƣơng có giá trị

không vƣợt quá . Điểm xuất phát và điểm đến không trùng nhau.

Kết quả: ghi ra tập tin văn bản ROUTE.OUT dãy gồm các kí tự in hoa {N, S, W, E} mô tả một

lộ trình di chuyển ngắn nhất tìm đƣợc.

ụ:

ROUTE.INP ROUTE.OUT

1 3 4 1 SEEES

N

S

E W

Page 125: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 125

VỆ TINH

Chƣơng trình điều khiển vệ tinh phải hoạt động cực nhanh mới có thể đƣa ra các tác động kịp

thời. Bộ phận xây dựng chƣơng trình điều khiển chia thành k nhóm, mỗi nhóm đề xuất một phần

mềm riêng của mình và mỗi phần mềm có những ƣu và nhƣợc điểm riêng.

Để so sánh lựa chọn sản phẩm đƣa vào khai thác ngƣời ta cho chạy thử mỗi phần mềm với n bộ

dữ liệu khác nhau, xác định thời gian thực hiện mỗi chƣơng trình và tổng kết thành bảng a kích

thƣớc k≤n, trong đó aij là thời gian phần mềm i xử lý bộ dữ liệu j (i = 1 ≤ k, j = 1 ÷ n). Hệ số trội

mỗi lần thử của một phần mềm là số lần mà phần mềm có thời gian chạy ít hơn so với các lần

thử ứng với từng bộ dữ liệu của các phần mềm khác. Tính ƣu việt của mỗi phần mềm là tổng số

hệ số trội của các lần thử.

Yêu cầu: Cho n, k và bảng a. Hãy tính hệ số trội của các phần mềm.

Dữ liệu: Vào từ file văn bản SATELL.INP:

Dòng đầu tiên chứa 2 số nguyên n và k (1 ≤ n, k ≤ 1000),

Dòng thứ i trong k dòng sau chứa n số nguyên ai1, ai2, . . ., ain.

Kết quả: Đƣa ra file văn bản SATELL.OUT trên một dòng n số nguyên – tính ƣu việt của mỗi

phần mềm.

Ví dụ:

SATELL.INP SATELL.OUT

3 3

1 4 7

2 5 8

3 6 9

12 9 6

Page 126: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 126

DÃY SỐ Ngƣời ta viết liên tục các số tự nhiên từ 1 trở đi không chứa khoảng cách tạo thành một chuỗi số

vô hạn nhƣ sau 123456789101112131415…

Yêu cầu: cho số nguyên dƣơng . Cho biết chiều dài của chuỗi số khi viết liên tiếp các

số tự nhiên từ đến theo cách trên.

Dữ liệu: vào từ tập tin văn bản SEQLEN.INP số nguyên dƣơng

Kết quả: ghi ra tập tin văn bản SEQLEN.OUT số nguyên dƣơng là chiều dài của chuỗi số.

ụ:

SEQLEN.INP SEQLEN.OUT

15 21

Page 127: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 127

DÃY SỐ Xét dãy số nguyên a1, a2, . . ., an , . . ., trong đó a1 = 1, an đƣợc xác định nhƣ sau: đảo ngƣợc thứ

tự viết các chữ số của an-1 (trong hệ cơ số 10) và cộng thêm 2 vào số nhận đƣợc.

Phần đầu của dãy số này có giá trị nhƣ sau:

Chỉ số 1 2 3 4 5 6 7 8 . . .

Dãy a 1 3 5 7 9 11 13 33 . . .

Yêu cầu: Cho số nguyên dƣơng n. Hãy xác định an (1 ≤ n ≤ 1012

).

Dữ liệu: Vào từ file văn bản SEQUENCE.INP gồm nhiều tests, mỗi test cho trên một dòng chứa

một số nguyên n.

Kết quả: Đƣa ra file văn bản SEQUENCE.OUT, kết quả mỗi test đƣa ra trên một dòng.

Ví dụ:

SEQUENCE.INP SEQUENCE.OUT

1

12

1

77

Page 128: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 128

CÁC MÁY CHỦ Ở SAO THỦY

Hệ thống máy tính điều khiển bởi các trạm ở Sao Thủy gồm có n máy chủ đƣợc đánh số từ 1 đến

n. Các máy chủ nối bởi ( n - 1 ) kênh liên lạc hai chiều, kênh thứ i nối máy chủ thứ i và máy chủ

thứ ( i +1 ).

Từ trái đất cần gửi một gói dữ liệu phần mềm mới đến hệ thống máy tính điều khiển. Gói dữ liệu

cần cài đặt trên mỗi máy chủ. Chi phí chuyển gói dữ liệu mới từ Trái đất đến Sao Thủy rất đắt, vì

thế từ Trái đất gói dữ liệu mới đƣợc chuyển tới chỉ một máy chủ mà thôi. Sau đó gói dữ liệu cần

chuyển đến tất cả máy chủ còn lại theo kênh liên lạc và có thể thông qua các máy chủ khác.

Do bức xạ Mặt trời trên Sao Thủy cao nên chỉ có thể chuyển gói dữ liệu theo các kênh liên lạc

trong một vài khoảng thời gian. Đối với kênh thứ i có khoảng thời gian [ li, ri ] là thời gian có thể

chuyển gói dữ liệu trên kênh này. Gói dữ liệu đƣợc chuyển theo bất kỳ kênh liên lạc nào ngay

lập tức.

Gói dữ liệu đƣợc chuyển đến máy chủ thứ j, nhanh chóng đƣợc cài đặt và đƣợc đặt vào bộ đệm

đặt biệt của bộ nhớ từ đó nó có thể đƣợc chuyển đến các máy chủ khác. Gói dữ liệu nằm ở bộ

đệm bộ nhớ máy chủ thứ j trong khoảng thời gian tj giây từ thời điểm nó nhận đƣợc gói dữ liệu.

Nếu ở thời điểm tìm gói dữ liệu trong bộ đệm bộ nhớ máy chủ đƣợc cho phép chuyển nó theo

kênh liên lạc đến máy chủ kế bên, trong khi gói dữ liệu chƣa đƣợc cài đặt thì nó nhanh chóng

đƣợc chuyển theo kênh liên lạc này.

Kể từ khi gói dữ liệu chứa các dữ liệu mới quan trọng, cần bắt đầu phổ biến nó nhƣ trƣớc đây.

Yêu cầu: Viết chƣơng trình đối với tất cả i từ 1 đến n xác định có thể cài đặt gói dữ liệu mới trên

tất cả máy chủ chuyển dữ liệu từ Trái đất đến máy chủ thứ i đƣợc hay không? Nếu có thể thì cần

xác định thời gian nhỏ nhất có thể cài đặt gói dữ liệu trên máy chủ này để kết quả gói dữ liệu

đƣợc cài đặt trên tất cả các máy chủ.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên n ( 200000) – số lƣợng các máy chủ.

Dòng thứ hai chứa n số nguyên t1, t2, …, tn, trong đó tj – thời gian tìm thấy gói dữ liệu

trong bộ đệm bộ nhớ của máy chủ thứ j ( 0 ≤ tj ≤ 109).

Tiếp theo ( n – 1) dòng viết các kênh liên lạc. Đối với kênh liên lạc thứ i đƣa ra hai số

nguyên li và ri – các biên khoảng thời gian trải dài mà có thể chuyển gói dữ liệu theo kênh này

( 0 ≤ li ≤ ri ≤ 109 ).

Page 129: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 129

Dữ liệu ra

Đƣa ra n số nguyên a1, a2, …, an.

Số ai phải là thời gian nhỏ nhất khi cài đặt gói dữ liệu trên máy chủ thứ i ở thời điểm ai, gói dữ

liệu sẽ đƣợc cài đặt trên tất cả các máy chủ. Nếu thời gian đối với máy chủ thứ i không tồn tại

cần đƣa ra ai = -1.

Ví dụ:

SERVERS.INP SERVERS.OUT

1

10

0

2

3 5

6 8

3

1

4

1 0 3 2

4 6

5 5

7 10

5

5

4

-1

Chú ý:

Trong ví dụ đầu tiên có một máy chủ, thời gian nhỏ nhất có thể cài đặt gói dữ liệu là 0.

Trong ví dụ thứ hai có hai máy chủ, chuyển dữ liệu giữa chúng có thể trong đoạn từ 0 đến 8.

Máy chủ thứ nhất lƣu dữ liệu trong bộ đệm 3 đơn vị thời gian, còn máy chủ thứ hai 5 đơn vị thời

gian. Nếu gửi dữ liệu đến máy chủ đầu tiên ở thời điểm 3 thì nó chuyển dữ liệu đến máy chủ thứ

hai ở thời điểm 6. Tƣơng tự nếu chuyển dữ liệu đến máy chủ thứ hai ở thời điểm 1 thì nó chuyển

dữ liệu đến máy chủ đầu tiên ở thời điểm 6.

Trong ví dụ thứ ba không thể chuyển dữ liệu đến máy chủ thứ nhất để nó chuyển dữ liệu đến

máy chủ thứ ba kênh liên lạc 2-3 bị đóng lại cho đến khi kênh liên lạc 1-2 đƣợc mở ra. Có thể

chuyển dữ liệu cho máy chủ thứ hai hoặc máy chủ thứ ba ở thời điểm 5. Ở thời điểm này kênh 2-

3 mở vì nó nhanh chóng nhận máy chủ thứ hai và thứ ba. Ở thời điểm 7, khi kênh 1-2 đƣợc mở

dữ liệu một lần nữa sẽ đƣợc tìm thấy trong bộ đệm của máy chủ thứ hai và đƣợc chuyển đến máy

chủ đầu tiên.

Ở ví dụ thứ tƣ máy chủ thứ hai lƣu gói dữ liệu 0 đơn vị thời gian, còn kênh 2-3 mở trong khoảng

5-5. Để chuyển dữ liệu qua máy chủ thứ hai đến máy chủ thứ ba, nó phải đến máy chủ thứ hai ở

thời điểm 5. Nếu chúng ta muốn gửi dữ liệu đến máy chủ thứ ba thì có thể làm điều này ở thời

điểm 4 khi đó nó sẽ lƣu đến thời điểm 7 và sẽ cài đặt đƣợc cho tất cả các máy chủ.

Page 130: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 130

BẢY CHỮ SỐ

Steve thích sƣu tầm và giải các bài toán tin học trên mạng và tự đặt kế hoạch mỗi hôm phải giải

ít nhất một bài. Bài hôm nay Steve định giải có nội dung nhƣ sau: Xét dãy xâu bít {Si} đƣợc xây

dựng theo quy tắc:

S0 = 0

S1 = 01

S2 = 0110

S3 = 01101001

. . . . . . . . . . .

Sj = Sj-1 + 1jS , trong đó 1jS nhận đƣợc từ xâu Sj-1 bằng cách thay 0 bằng 1 và thay 1

bằng 0.

Yêu cầu của bài toán là đƣa ra 7 ký tự liên tiếp của xâu Sk bắt đầu từ vị trí p.

Dữ liệu: Vào từ file văn bản SEVENDG.INP gồm một dòng chứa 2 số nguyên k và p (3 ≤ k ≤63,

1 ≤ p ≤ 2k – 7).

Kết quả: Đƣa ra file văn bản SEVENDG.OUT xâu chứa 7 ký tự tìm đƣợc.

Ví dụ:

SEVENDG.INP SEVENDG.OUT

3 2 1101001

Page 131: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 131

BÁN HÀNG

Để thu hút sự chú ý của khách hàng tới một loại sản phẩm mới ngƣời ta quyết định tặng cho

ngƣời mua sản phẩm này thêm một sản phẩm nữa từ danh sách n mặt hàng khuyến mãi. Hàng

tặng phẩm có giá trị trong phạm vi từ a phần trăm đến b phần trăm giá của sản phẩm mới.

Xuất phát từ lợi ích của cửa hàng, dĩ nhiên ngƣời bán hàng muốn chọn tặng phẩm thích hợp

nhƣng có giá nhỏ nhất trong số các hàng có thể tặng.

Hãy xác định sản phẩm tặng cho khách hàng.

Dữ liệu: Vào từ file văn bản SHOP.INP:

Dòng đầu tiên chứa một xâu – tên của sản phẩm mới,

Dòng thứ 2 chứa số nguyên t – giá của sản phẩm mới (1 ≤ t ≤ 109),

Dòng thứ 3 chứa 2 số nguyên a và b (1 ≤ a ≤ b ≤ 100),

Dòng thứ 4 chứa số nguyên n (1 ≤ n ≤ 1 000),

n cặp 2 dòng tiếp theo mô tả các mặt hàng trong danh sách tặng, dòng thứ nhất trong

nhóm chứa xâu ký tự xác định tên mặt hàng, dòng thứ 2 là một số nguyên dƣơng – giá

của mặt hàng này (không vƣợt quá 109).

Mỗi tên trong số tất cả các tên đề có độ dài không vƣợt quá 20, chứa các ký tự có mã ASCII

trong phạm vi từ 32 đến 127.

Kết quả: Đƣa ra file văn bản SHOP.OUT một xâu – tên của mặt hàng tặng cho ngƣời mua. Dữ

liệu đảm bảo tồn tại lời giải.

Ví dụ:

SHOP.INP SHOP.OUT

Coca-Cola 2l+2l.

120

15 25

3

Coca-Cola 0,5l.

20

Dirol

14

Ice-cream

40

Coca-Cola 0,5l.

Page 132: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 132

ỐC SÊN Con ốc sên đang ở gốc của một cái cây cao v mét tính từ gốc. Ốc sên muốn bò lên ngọn cây để

ăn những lá non trên đó. Ban ngày ốc sên bò đƣợc a mét lên trên,

nhƣng ban đêm, khi ngủ nó bị trôi xuống dƣới b mét.

Yêu cầu: Cho các số nguyên v, a và b (1 ≤ b < a ≤ v ≤ 109). Hãy xác

định số ngày cần thiết để ốc sên lên tới ngọn cây.

Dữ liệu: Vào từ file văn bản SNAIL.INP gồm một dòng chứa 3 số

nguyên a, b và v.

Kết quả: Đƣa ra file văn bản SNAIL.OUT một số nguyên – kết quả tìm đƣợc.

Ví dụ:

SNAIL.INP SNAIL.OUT

2 1 5 4

Page 133: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 133

GA HÀNG HÓA

Trên đƣờng nhánh của ga hàng hóa có n toa hàng (2 ≤ n ≤ 100 000). Các toa có chiều dài giống

nhau, nhƣng có thể có khối lƣợng khác nhau do chứa các hàng hóa khác nhau. Ngƣời ta phải sắp

lại vị trí các toa hàng để có đƣợc đoàn tàu với các toa sắp xếp theo thứ tự tăng dần của khối

lƣợng trƣớc khi kéo chúng lên đƣờng.

Để sắp xếp ngƣời ta thƣờng dùng một đầu máy phân loại. Nhƣng ở đây ngƣời ta đang thử

nghiệm một thiết bị phân loại cho phép tiết kiệm nhiều thời gian sắp xếp. Thiết bị này dài hơn

hai toa một chút, di chuyển theo nguyên tắc đệm không khí, trƣợt trên nóc toa, nhắc và hoán đổi

vị trí từng cặp toa. Sức nâng của thiết bị chỉ cho phép nó nhấc các cặp toa có tổng khối lƣợng

không vƣợt quá M (1 ≤ M ≤ 109).

Yêu cầu: Cho n, M và mi – khối lƣợng các các toa theo trình tự hiện tại (1 ≤ mi ≤ 109, i = 1 ÷ n).

Hãy cho biết có thể sắp xếp các toa thành đoàn tàu đƣợc hay không và đƣa ra câu trả lời Yes

hoặc No.

Dữ liệu: Vào từ file văn bản SORTING.INP:

Dòng đầu chứa 2 số nguyên n và m,

Dòng thứ hai chứa n số nguyên m1, m2, . . ., mn.

Kết quả: Đƣa ra file văn bản SORTING.OUT câu trả lời xác định đƣợc.

Ví dụ:

SORTING.INP SORTING.OUT 4 10

5 6 3 4 Yes

Page 134: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 134

KẾT QUẢ ĐẸP

Steve hào hứng theo dõi kết quả tất cả các kỳ thi lập trình. Với Steve, bảng công bố kết quả

online cũng hấp dẫn không kém nội dung các bài thi.

Thông tin trên bảng kết quả đƣợc sắp xếp theo thứ tự giảm dần số bài mà mỗi đội giải đƣợc.

Steve coi một bảng kết quả là đẹp nếu số bài giải đƣợc của mỗi độ hoặc bằng 0 hoặc là ƣớc của

tổng số bài trong kỳ thi. Khi một đội giải đƣợc thêm một bài nào đó thì số lƣợng tƣơng ứng trên

bảng sẽ tăng thêm một. Không có đội nào tại một thời điểm đồng thời giải xong quá một bài, hệ

thống cũng không ghi nhận đồng thời kết quả của hai hay nhiều đội.

Hiện nay bảng đang có trạng thái đẹp. Ví dụ, với số đội tham gia là 7, có 12 bài trong kỳ thi và

kết quả hiện tại là (12, 6, 4, 3, 3, 1, 0). Nếu đội ở vị trí thứ 4 hoặc thứ 5 giải thêm một bài bảng

vẫn đẹp. Tƣơng tự nhƣ vậy, đội thứ 6 có thể giải thêm 1, 2 hoặc 3 bài, còn đội đang đứng cuối có

thể giải thêm đƣợc 1, 2, 3, 4 bài - bảng vẫn đẹp. Tóm lại có 9 trƣờng hợp có bài đƣợc giải thêm

mà bảng vẫn ở trạng thái đẹp.

Yêu cầu: Cho n,m – số đội tham gia và số bài phải giải (1 ≤ n ≤ 100, 1 ≤ m ≤ 109), cho kết quả

số bài giải đƣợc của mỗi đội (theo thứ tự không giảm) tạo thành một bảng đẹp. Hãy xác định số

lần thay đổi trạng thái liên tiếp tối đa mà bảng kết quả vẫn đẹp.

Dữ liệu: Vào từ file văn bản STANDING.INP:

Dòng đầu tiên chứa 2 số nguyên n và m,

Dòng thứ 2 chứa n số nguyên – số bài giải đƣợc của mỗi đội.

Kết quả: Đƣa ra file văn bản STANDING.OUT một số nguyên – số bảng đẹp liên tiếp có thể

xuất hiện.

Ví dụ:

STANDING.INP STANDING.OUT 7 12

12 6 3 3 1 0

9

Page 135: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 135

CHÒM SAO

Để tìm các chòm sao trên bầu trời ngƣời ta chụp ảnh nhiều lần cùng một hƣớng và cùng một kích

thƣớc rối so sánh chúng. Trên các ảnh chụp, các sao thuộc một chòm sao phải cùng xuất hiện với

vị trí tƣơng đối nhƣ nhau, nghĩa là khoảng cách giữa mỗi sao trong chòm với các sao còn lại

trong chòm sao phải nhƣ nhau. Do bầu trời có độ trong suốt khác nhau nên trên ảnh chụp có thể

lúc này hay lúc khác có xuất hiện thêm một số sao. Ngoài ra, do chuyển động của trái đất và độ

lắc quanh trục thị trƣờng của ống kính có thể bị xô dịch. Vì vậy chòm sao trên các ảnh chỉ trùng

khít lên nhau khi ta dịch chuyển tịnh tiến một ảnh chút ít.

Hình bên cho trƣờng hợp ta phải đẩy mẫu tịnh tiến sang phải 2 đơn vị (tăng x 2 đơn vị) và tịnh

tiến xuống dƣới 3 đơn vị (giảm y 3 đơn vị).

Yêu cầu: Cho ảnh mẫu chòm sao có m ngôi sao(1 ≤ m ≤200), tọa độ của từng ngôi sao trong mẫu,

cho ảnh chụp bầu trời có n sao ( 1 ≤ n ≤ 1 000) và tọa độ từng sao trên ảnh. Tất cả các tọa độ đều

có giá trị nguyên nằm trong khoảng [0, 106]. Trên mỗi ảnh không có 2 ngôi sao nào ở cùng một

vị trí. Hãy xác định cách tịnh tiến mẫu sao cho các sao trong mẫu trùng với các sao tƣơng ứng

trên ảnh, tức là xác định x, y – tham số phép tịnh tiến.

Dữ liệu: Vào từ file văn bản STARS.INP:

Dòng đầu tiên chứa số nguyên m,

Page 136: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 136

Mỗi dòng trong m dòng sau chứa 2 số nguyên – tọa độ một ngôi sao trong chòm,

Dòng m+2 chứa số nguyên n,

Mỗi dòng trong n dòng tiếp theo chứa cặp số nguyên xác định vị trí một ngôi sao trên ảnh

chụp bầu trời.

Kết quả: Đƣa ra file văn bản STARS.OUT trên một dòng 2 số nguyên x và y.

Ví dụ:

STARS.INP STARS.OUT 5

8 5

6 4

4 3

7 10

0 10

10

10 5

2 7

9 7

8 10

10 2

1 2

8 1

6 7

6 0

0 9

2 -3

Page 137: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 137

THIẾT BỊ KĨ THUẬT SỐ Một thiết bị kĩ thuật số mới đƣợc nghiên cứu để lƣu giữ thông tin. Thông tin trên thiết bị đƣợc

lƣu ở dạng dãy các ô, mỗi ô chứa một trong hai trạng thái đƣợc ký hiệu là <<+>> và <<->> và

nhƣ vậy lƣu một bit thông tin.

Gọi là một đoạn nhóm các ô gần nhau có cùng trạng thái nếu nhƣ bên trái hoặc không có ô nào

hoặc có các ô ở trạng thái đối ngƣợc và bên phải hoặc không có ô nào hoặc có các ô ở trạng thái

đối ngƣợc.

Lệnh viết cho phép chọn cặp lân cận các đoạn khác độ dài và thay đổi trạng thái tất cả các ô của

đoạn có độ dài ngắn hơn thành trạng thái đối lập với các ô đó, nhƣ vậy có thể nối hai hay ba đoạn

lân cận thành một.

Yêu cầu viết chƣơng trình từ đoạn trạng thái các ô đầu vào và đoạn trạng thái đầu ra, hỏi có thể

sử dụng lệnh viết để biến đổi từ đoạn trạng thái các ô đầu vào thành đoạn trạng thái các ô đầu ra

đƣợc hay không?

Dữ liệu vào từ file văn bản STORAGE.INP

Dòng đầu tiên chứa số nguyên q ( 1 ≤ q ≤ 106 ) – số lƣợng test.

Mỗi dòng trong q dòng tiếp theo chứa si, ti – dãy không rỗng các ký hiệu <<+>> và <<-

>> có cùng độ dài cách nhau bởi khoảng trắng. Dòng này cho biết trong test thứ i từ dãy

trạng thái ô si cần nhận dãy ti ở đầu ra.

Dữ liệu ra file văn bản STORAGE.OUT

Dữ liệu ra chứa q dòng , trong đó dòng thứ i là <<Yes>> nếu từ dãy trạng thái si có thể

biến đổi ra dãy ti, hoặc <<No>> trong trƣờng hợp ngƣợc lại.

Ví dụ:

STORAGE.INP STORAGE.OUT

3

++- +++

++-- ++++

++-+--+- ++++++++

Yes

No

Yes

3

++-+-- ++----

++-+-- +++---

-++- -++-

Yes

No

Yes

Page 138: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 138

TỔNG Steve mới đƣợc quà sinh nhật từ bố mẹ. Đó là một chiếc máy tính bấm tay Casio mới tinh. Sau

khi đƣợc hƣớng dẫn cách thực hiện liên hoàn các phép tính Steve chạy về phòng mình ngồi hàng

giờ để tính tổng các số nguyên liên tiếp

a + (a+1) + (a+2) + . . . + b

Steve hãnh diện cho bố mẹ xem tổng S nhận đƣợc và ngẩn ngƣời khi đƣợc hỏi tổng S đƣợc tính

từ đâu tới đâu!

Yêu cầu: Cho số nguyên S (1 ≤ S ≤ 1012). Hãy xác định các cặp số nguyên dƣơng a, b (a ≤ b)

tƣơng ứng với S đã cho.

Dữ liệu: Vào từ file văn bản SUM.INP gồm một dòng chứa số nguyên S.

Kết quả: Đƣa ra file văn bản SUM.OUT:

Dòng đầu tiên chứa số nguyên k – số lƣợng cặp số tìm đƣợc,

Mỗi dòng trong k dòng sau chứa một cặp số nguyên a, b.

Các cặp số đƣa ra theo thứ tự tăng dần của a.

Ví dụ:

SUM.INP SUM.OUT

25 3

3 7

12 13

25 25

Page 139: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 139

MUA VÉ XE Để khuyến khích mọi ngƣời sử dụng các phƣơng tiện giao thông trong thành phố, ngoài việc bán

lẻ với giá cho một vé thì ở hầu hết các nƣớc đều có chế độ bán sỉ với giá cho mỗi tập gồm

vé.

Bạn đến thành phố tham quan và dự kiến sẽ đi chuyến trên các phƣơng tiện giao thông công

cộng. Vấn đề đặt ra là nên mua vé nhƣ thế nào để tiết kiệm tiền nhất. Dĩ nhiên, bạn không hề có

ý nghĩ là sẽ đi lậu vé một lần nào.

Yêu cầu: Cho các số nguyên dƣơng các số đều có giá trị không vƣợt quá 109. Nếu

thì . Hãy tính chi phí tối thiểu cần thiết để mua vé.

Dữ liệu: vào từ tập tin văn bản TICKETS.INP 4 số nguyên .

Kết quả: ghi ra tập tin văn bản TICKETS.OUT chi phí tối thiểu tìm đƣợc.

Ví dụ:

TICKETS.INP TICKETS.OUT

12 10 17 120 154

Page 140: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 140

XÂY THÁP Có N khối đá hình hộp chữ nhật. Kích thƣớc mỗi khối đƣợc biểu diễn bằng 3 số nguyên dƣơng

d1, d2, d3. Ngƣời ta muốn xây một cái tháp bằng cách chồng các khối đá này lên nhau. Để đảm

bảo an toàn, các khối đá đƣợc đặt theo nguyên tắc:

Chiều cao của mỗi khối là kích thƣớc nhỏ nhất trong ba kích thƣớc d1, d2, d3;

Các mép của các khối đƣơc đặt song song với nhau sao cho không có phần nào của khối

nằm trên bị chìa ra ngoài so với khối nằm dƣới.

Yêu cầu: Hãy tìm phƣơng án xây dựng để đạt đƣợc tháp cao nhất.

Dữ liệu: vào từ tập tin văn bản TOWER.INP:

Dòng đầu tiên là số N

N dòng tiếp, mỗi dòng ghi 3 số nguyên dƣơng là kích thƣớc của một khối đá. Các khối đá

đƣơc đánh số từ 1 theo trình tự xuất hiện trong file.

Các số trên một dòng trong file đƣợc ghi cách nhau ít nhất một dấu cách. Giới hạn số

khối đá không quá 5000 và các kích thƣớc của các khối đá không quá 255.

Kết quả: ghi ra tập tin văn bản TOWER.OUT một số nguyên dƣơng là độ cao của tháp tìm

đƣợc.

Các tập tin dữ liệu mẫu:

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

9

7 5 5

4 4 8

1 1 5

4 2 2

5 1 5

4 2 7

2 9 2

1 3 3

5 5 5

13

Lần lƣợt chọn các khối đá 1, 9, 5 và

4 để xây tháp sẽ có độ cao là 13

Page 141: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 141

ĐƯỜNG TRƯỢT

Ở Phan Thiết có vùng đồi cát nhấp nhô. Khách du lịch thƣờng rất thích thú ngồi trên các mo cau

trƣợt từ trên đỉnh đồi xuống. Một công ty du lịch

muốn cung cấp một dịch vụ hấp dẫn hơn để thu hút

khách du lịch. Khách sẽ đƣợc thuê các xe trƣợt, tìm

cảm giác mạnh bằng cách trƣợt từ trên đỉnh cao

xuống theo lộ trình thiết kế sẵn.

Địa hình là C đồi cát có đỉnh khá bằng phẳng hình

tròn với độ cao nhất định, trên đó lại có thể nhô lên

các đồi con khác. Các đồi con rời nhau hoặc chồng

lên nhau, không có trƣờng hợp chờm lên nhau một

phần. Xe trƣợt lao từ trên cao xuống và cũng có thể

có những đoạn lên cao, nhƣng không đƣợc cao quá

điểm xuất phát. Để đảm bảo an toàn trên tuyến đƣờng

trƣợt không có quá k+1 đoạn bằng phẳng (tức là

không quá k lần cắt đƣờng biên của các hình tròn

đỉnh đồi). Vùng không thuộc một vòng tròn mô tả đồi

nà có độ cao là 0.

Yêu cầu: Cho C, k, tọa độ tâm (xi, yi), bán kính ri

và độ cao hi của mỗi đồi cát (1 ≤ C, k ≤ 2000, |xi|, |yi| ≤ 2 000, 1 ≤ ri ≤ 2 000,|hi| ≤ 1 000, i =

1 ÷ C, các giá trị đều nguyên).Hãy xác định chênh lệch độ cao lớn nhất của đƣờng trƣợt có thể

thiết kế.

Dữ liệu: Vào từ file văn bản TRACE.INP:

Dòng đầu tiên chứa 2 số nguyên C và k,

Dòng thứ i trong C dòng sau chứa 4 số nguyên xi, yi, ri và hi.

Kết quả: Đƣa ra file văn bản TRACE.OUT một số nguyên – kết quả tìm đƣợc.

Ví dụ:

TRACE.INP TRACE.OUT 10 4

38 61 2 73

69 34 3 15

61 59 4 30

40 60 5 66

58 44 6 30

71 34 6 -2

47 21 6 45

41 58 8 52

41 57 11 37

48 40 33 10

68

Page 142: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 142

TÀU ĐIỆN

Rạng Đông là một thành phố không lớn nhƣng có một mạng giao thông công cộng bằng tàu điện

rất thuận tiện và hợp lý. Từ hai bến đỗ bất kỳ có thể đi tới nhau bằng tàu điện và chỉ có một cách

đi duy nhất. Nhƣ vậy mạng tàu điện tạo thành một

cây mà nút là các bến đỗ và cạnh là tuyến đƣờng

tàu.

Ban đầu, giữa hai bến đổ bất kỳ có ít nhất một

tuyến tàu điện chạy. Nhƣng với sự phát triển của

thành phố và các loại phƣơng tiện giao thông công

cộng khác một số tuyến bị hủy bỏ vì gần nhƣ

không còn hành khách. Điều này dẫn đến việc một

số đoạn đƣờng sắt không có tàu nào chạy qua.

Chính quyền thành phố quyết định tháo dỡ những

đoạn đƣờng này.

Yêu cầu: Cho số nguyên n (2 ≤ n ≤ 100 000) – số

bến đỗ. Các bến đƣợc đánh số từ 1 đến n. Cho (n-1) cặp số bi, ei xác định các cặp bến đỗ có

đƣờng tàu nối trực tiếp. Cho m – số tuyến đang hoạt động (0 ≤ m ≤ 100 00) và m cặp số (x, y),

mỗi cặp số xác định một tuyến đi từ x tới y theo đƣờng ngắn nhất.Hãy xác định số các đoạn

đƣờng cần tháo dỡ.

Dữ liệu: Vào từ file văn bản TRAM.INP:

Dòng đầu tiên chứa số nguyên n,

Dòng thứ i trong n-1 dòng sau chứa 2 số nguyên bi và ei,

Dòng tiếp theo chứa số nguyên m,

Mỗi dòng trong m dòng sau chứa 2 số nguyên x và y.

Kết quả: Đƣa ra file văn bản TRAM.OUT một số nguyên – số các đoạn đƣờng cần tháo dỡ.

Ví dụ:

TRAM.INP TRAM.OUT 7

1 2

2 3

2 4

5 2

5 6

7 5

3

1 7

2 4

7 6

1

Page 143: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 143

QUAY XÂU KÝ TỰ Cho S là một xâu gồm không quá 80 ký tự, mỗi ký tự là một chữ cái trong bảng chữ cái tiếng

Anh A-Z, a-z. Ta gọi phép dịch chuyển S đi 1 ký tự là việc chuyển ký tự đầu tiên của S xuống vị

trí cuối cùng. Ký hiệu T(S) là xâu thu đƣợc sau phép dịch chuyển S đi một ký tự.

Cho trƣớc xâu S và số nguyên dƣơng N < 10100

, cần tìm xâu thu đƣợc sau khi thực hiện N phép

dịch chuyển đối với S, tức là tìm T(T(...T(S)...)) (có N chữ T trong biểu thức).

Dữ liệu: Vào từ file văn bản TRANSTR.INP:

Dòng đầu tiên chứa số N;

Dòng thứ hai chứa xâu ký tự S.

Kết quả: Đƣa ra file văn bản TRANSTR.OUT xâu ký tự thu đƣợc.

Ví dụ:

TRANSTR.INP TRANSTR.OUT

3

Computer

puterCom

Page 144: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 144

CHÌA KHÓA TAM GIÁC Indiana Jon tìm thấy chìa khóa mở cửa hang động chứa kho báu của ngƣời Inka. Chìa khóa có

hình tam giác đều. Tam giác đều này đƣợc chia thành n2 tam

giác đều con, trên mỗi tam giác con này có khắc một chữ số hệ

10. Hình bên nêu ví dụ một khóa ứng với n = 3.

Jon ấn chìa khóa vào lỗ hình tam giá chìm trên cửa động và . . .

cửa không mở! Rõ ràng là anh đã đặt chìa không đúng hƣớng.

Còn hai cách đặt khác nữa: quay chìa ngƣợc chiều kim đồng hồ

hoặc cùng chiều kim đồng hồ. Jon chỉ còn đủ thời gian để thử

một lần nữa. Những ngƣời Inca đã đuổi sát tới nơi. Jon thoáng

suy nghĩ, quay chìa và ấn lại. Thật may mắn, cửa mở và Jon kịp

nhào thoát vào trong động. Tim vẫn còn đập nhƣ giã gạo, nhƣng

Jon phải tìm cách nhớ lại ngay

cấu hình chìa khóa khi mở.

Thông tin này sẽ giúp ích rất

nhiều trong các bƣớc tiếp theo.

Hình bên là cấu hình khóa khi

quay ngƣợc chiều kim đồng hồ

và quay cùng chiều kim đồng hồ.

Cho biết n, cấu hình của chìa

khóa và chiều quay đã thực hiện

(counterclockwise – ngƣợc chiều

kim đồng hồ hoặc clockwise –

cùng chiều kim đồng hồ). Hãy xác định cấu hình khóa đã mở cửa.

Dữ liệu: Vào từ file văn bản TRIANGLE.INP:

Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 100),

Dòng thứ i trong n dòng sau chứa 2≤i-1 chữ số xác định dòng thứ i của chìa khóa

(i =1 ÷ n),

Dòng cuối cùng chứa xâu xác định chiều quay.

Kết quả: Đƣa ra file văn bản TRIANGLE.OUT n dòng, mô tả các dòng của khóa sau khi quay

(tƣơng tự nhƣ cách mô tả chìa trong input).

Ví dụ:

TRIANGLE.INP TRIANGLE.OUT

3

1

2 3 4

5 6 7 8 9

counterclockwise

9

4 8 7

1 3 2 6 5

Page 145: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 145

DÃ NGOẠI

Nhóm ngƣời tổ chức một cuộc du lịch dã ngoại trên sông bằng thuyền đôi. Ngƣời thứ trong

nhóm có trọng lƣợng . Mỗi thuyền du lịch đôi có thể chở 1 hoặc 2 ngƣời với tổng trọng lƣợng

không quá . Số thuyền mà hãng du lịch có là không hạn chế.

Yêu cầu: Hãy xác định số lƣợng thuyền ít nhất cần thuê.

Dữ liệu: đọc từ tập tin văn bản TRIP.INP gồm không quá 10 tests, mỗi test trên 2 dòng

- Dòng đầu tiên chứ 2 số nguyên

- Dòng thứ hai chứa số nguyên

Kết quả: xuất ra tập tin văn bản TRIP.OUT mỗi test trên một dòng dƣới dạng số nguyên

TRIP.INP TRIP.OUT

4 135

50 74 60 82

6 135

50 120 74 60 100 82

2

4

Page 146: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 146

MẠNG GIAO THÔNG

Đế chế hùng mạnh thứ IV của ngân hà bao gồm n hành tinh. Hội đồng điều hành quyết định xây

dựng n-1 ống giao thông, mỗi ống nối 2 hành tinh. Mạng giao thông phải đảm bảo giữa 2 hành

tinh bất kỳ của Đế chế có đƣờng đi (trực tiếp hoặc qua các hành tinh khác). Nếu (xa, ya, za) và

(xb, yb, zb) là tọa độ không gian của 2 hành tinh A và B thì chi phí xây dựng đƣờng ống giao

thông giữa 2 hành tinh này sẽ là

min{|xa – xb|, |ya – yb|, |za – zb|}

Yêu cầu: Cho n và tọa độ của các hành tinh (các tọa độ đều nguyên và có giá trị tuyệt đối không

quá 109, 2 ≤ n ≤ 10

6). Không có 2 hành tinh nào ở cùng một điểm. Hãy xác định chi phí nhỏ nhất

xây dựng mạng giao thông.

Dữ liệu: Vào từ file văn bản TUNEL.INP:

Dòng đầu tiên chứa số nguyên n,

Mỗi dòng trong n dòng sau chứa 3 số nguyên – tọa độ một hành tinh.

Kết quả: Đƣa ra file văn bản TUNEL.OUT một số nguyên – chi phí nhỏ nhất tìm đƣợc.

Ví dụ:

TUNEL.INP TUNEL.OUT

3

-1 -1 -1

5 5 5

10 10 10

11

Page 147: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 147

SỐ SINH ĐÔI Trong lý thuyết số hai số nguyên tố p và q đƣợc gọi là cặp số nguyên tố sinh đôi nếu q – p = 2.

Ví dụ, các cặp số (3, 5), (11, 13), (17, 19) là các cặp sinh đôi. Trong trƣờng hợp tổng quát, với số

nguyên dƣơng k cho trƣớc, cặp số nguyên tố p và q đƣợc gọi là sinh đôi (tổng quát) nếu

q – p = k. Ví dụ, với k = 4 cặp số nguyên tố (3, 7) đƣợc gọi là sinh đôi tổng quát.

Tồn tại giả thuyết là các cặp số nguyên tố sinh đôi nhiều vô hạn. Tuy nhiên, điều đó chƣa đƣợc

chứng minh. Dễ dàng thấy rằng với k cho trƣớc, xác định số cặp sinh đôi tổng quát trong tập số

tự nhiên là bài toán phức tạp không kém việc xác định số lƣợng cặp sinh đôi theo định nghĩa

thông thƣờng.

Ở đây chúng ta xét một bài toán đơn giản hơn.

Yêu cầu: Cho n và k (1 ≤ n, k ≤ 106). Hãy xác định số cặp sinh đôi tổng quát trong phạm vi từ 1

đến n.

Dữ liệu: Vào từ file văn bản TWINS.INP gồm một dòng chứa 2 số nguyên n và k.

Kết quả: Đƣa ra file văn bản TWINS.OUT một số nguyên – số lƣợng cặp tìm đƣợc.

Ví dụ:

TWINS.INP TWINS.OUT

17 2

3

Page 148: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 148

ĐIỀU KHIỂN MÁY QUAY PHIM Một cơ quan bảo vệ nhận đƣợc một đơn đặt hàng đảm bảo quan sát hai tòa nhà. Mỗi một tòa nhà

đƣợc thiết lập một tập hợp nhiều máy quay phim.

Trên mỗi bức tƣờng của phòng quan sát đặt một tấm bảng, là một hình chữ nhật hình thành từ n

dãy nằm ngang gồm m màn hình. Mỗi màn hình đƣa ra hình ảnh từ máy quay phim nằm một

trong hai tòa nhà. Phòng quan sát đƣợc trang bị các nút điều khiển với bốn nút “trái,“phải”,

“trên” và “dƣới”.

Nút “trái” di chuyển hình ảnh từ mỗi màn hình đến màn hình nằm bên trái nó. Trong đó hình ảnh

từ màn hình bên trái nhất của mỗi dãy đƣợc di chuyển sang màn hình bên phải nhất của dãy này.

Tƣơng tự nhƣ vậy tác dụng của các nút “phải”, “trên” và “dƣới”. Nút “phải” di chuyển hình ảnh

từ mỗi màn hình sang màn hình nằm bên phải nó. Hình ảnh từ màn hình bên phải nhất trong mỗi

dãy đƣợc di chuyển đến màn hình bên trái nhất của dãy này. Nút “trên” di chuyển hình ảnh từ

mỗi màn hình đến màn hình bên trên nó. Hình ảnh của mỗi màn hình bên trên cùng đƣợc di

chuyển đến các màn hình nằm dƣới cùng. Nút “dƣới” di chuyển hình ảnh từ mỗi màn hình đến

các màn hình nằm bên dƣới nó. Hình ảnh từ mỗi màn hình nằm dƣới cùng của dãy đƣợc di

chuyển lên các màn hình trên cùng của dãy đó.

Gọi block màn hình kích thƣớc 2x2 là thuận tiện để quan sát nếu nhƣ các màn hình này đƣa ra

các hình ảnh từ cùng một tòa nhà. Trong kết quả di chuyển hình ảnh theo các lệnh từ nút điều

khiển thì số lƣợng các block quan sát thuận tiện có thể bị thay đổi. Trong đó một màn hình có thể

đi vào một vài block quan sát thuận tiện.

Yêu cầu viết chƣơng trình xác định số lƣợng lớn nhất số block quan sát thuận tiện có thể nhận

đƣợc nhờ điều khiển các màn hình từ các nút điều khiển.

Dữ liệu vào từ file văn bản VIDEO.INP

Dòng đầu tiên chứa hai số nguyên n số lƣợng dãy và m là số lƣợng màn hình ở mỗi dãy

(2 ≤ n, m ≤ 1000).

Tiếp theo là n dòng viết các dãy màn hình theo thứ tự từ trên xuống dƣới. Mỗi dòng của

các dòng này chứa m kí hiệu, viết tƣơng ứng với các màn hình theo thứ tự từ trái sang phải. Kí

hiệu <<1>> có ý nghĩa màn hình từ tòa nhà đầu tiên, còn kí hiệu <<2>> là từ tòa nhà thứ hai.

Dữ liệu ra file văn bản VIDEO.OUT

Một số nguyên duy nhất – số lƣợng lớn nhất các block thuận tiện để quan sát.

Page 149: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 149

Ví dụ:

VIDEO.INP VIDEO.OUT

2 4

1221

1221

2

3 2

22

22

22

2

3 3

111

121

111

3

Giải thích:

Ở ví dụ đầu tiên với lệnh “phải” có thể nhận đƣợc block thuận tiện để quan sát gồm số 1 ở bên

trái, còn bên phải block thuận tiện để quan sát là số 2.

Ở ví dụ thứ hai thì từ màn hình ban đầu có hai block thuận tiện để quan sát.

Ở ví dụ thứ ba dùng lệnh “phải” và “dƣới” có thể phân ra đƣợc ba block thuận tiện để quan sát.

Page 150: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 150

PHÉP TÍNH XOR

Nội dung bài giảng tin học hôm nay là lệnh XOR – lệnh cộng từng bít không nhớ. Ví dụ 3 XOR 5 = 6

( 310 = 112, 510 = 1012 3 XOR 5 = 1102 = 610). Bài tập về nhà cũng không đến nổi quá khó: cho n số

nguyên không âm khác nhau từng đôi một ai và m số nguyên không âm bj. Với mỗi số bj hãy tìm ak sao

cho ak XOR bj = max{ai XOR bj |i=1 n}.

Dữ liệu: Vào từ file văn bản XOR_OP.INP:

Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 105),

Dòng thứ 2 chứa n số nguyên a1, a2, . . ., an (0 ≤ ai ≤ 109, i = 1 ÷ n),

Dòng thứ 3 chứa số nguyên m (1 ≤ m ≤ 105),

Dòng thứ 4 chứa m số nguyên b1, b2, . . ., bm (0 ≤ bj ≤ 109, j = 1 ÷ m).

Kết quả: Đƣa ra file văn bản XOR_OP.OUT trên một dòng m số nguyên, số thứ j là ak tìm đƣợc ứng với

bj.

Ví dụ:

XOR_OP.INP XOR_OP.OUT

2

3 0

3

2 3 9

0 0 3

Page 151: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 151

TÔ MÀU Jimmy chia bảng kích thƣớc thành lƣới ô vuông kích thƣớc ô là và tô mỗi ô bằng

một trong hai màu đen hoặc trắng sao cho không có 2 ô kề cạnh nào có cùng màu. Các hàng của

lƣới đƣợc đánh số từ dƣới lên trên từ 1 đến , các cột

đƣợc đánh số từ 1 đến từ trái qua phải.

Rôn muốn biết số lƣợng ô màu đen so với số lƣợng ô

màu trắng nhƣ thế nào và nhận thấy rằng chỉ cần biết

màu ở ô thứ trên dòng là có thể có ngay câu trả lời.

Yêu cầu: Cho và , trong đó là màu ô thứ

trên dòng , là màu đen, còn là màu trắng

. Hãy xác định tƣơng quan giữa số ô

màu trắng và số ô màu đen, đƣa ra câu trả lời:

- “black” nếu số ô màu đen nhiều hơn,

- “white” nếu số ô màu trắng nhiều hơn,

- “equal” nếu số ô của 2 màu là nhƣ nhau.

Dữ liệu: vào từ tập tin văn bản W_B.INP gồm một dòng chứa 5 số nguyên và .

Kết quả: ghi ra tập tin văn bản W_B.OUT câu trả lời tƣơng ứng.

Ví dụ:

W_B.INP W_B.OUT

3 5 1 1 0 black

Page 152: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 152

DÂY D N

Cho đoạn dây điện . Đoạn thứ có độ dài . Cần phải cắt các

đoạn đã cho thành các đoạn sao cho có đƣợc đoạn dây bằng nhau. Có thể không cần cắt hết các

đoạn dây đã cho. Mỗi đoạn dây bị cắt có thể có phần còn thừa khác 0.

Yêu cầu: xác định độ dài lớn nhất của đoạn dây có thể nhận đƣợc. Nếu không có cách cắt thì đƣa

ra số 0.

Dữ liệu: vào từ tập tin văn bản WIRES.INP gồm nhiều tests, mỗi test trên một nhóm dòng

- Dòng đầu tiên chứa 2 số nguyên và

- Dòng thứ trong dòng tiếp theo chứa số nguyên

Kết quả: ghi ra tập tin văn bản WIRES.OUT, kết quả mỗi test đƣa ra trên một dòng dƣới dạng

số nguyên.

ụ:

WIRES.INP WIRES.OUT

4 11

802

743

547

539

200

Page 153: SÁCH TIN HỌC DÀNH CHO HỌC SINH PTNK - …nangkhieutin.com/wp-content/uploads/2018/01/Sach-Tin-danh-cho-hoc... · BÀI TẬP VỀ NHÀ ... BÌA ĐỤC LỖ ... Sách Tin Học

Tiến sĩ Đào Duy Nam PTNK – ĐHQG TPHCM

Sách Tin Học dành cho học sinh PTNK Page 153

TỪ DÀI NHẤT

Cho xâu ký tự chỉ gồm các chữ cái in hoa và dấu cách. Một dãy liên tiếp các chữ cái in hoa

trong xâu đƣợc gọi là một từ.

Yêu cầu: Hãy cho biết có bao nhiêu từ trong xâu ký tự và chiều dài của từ dài nhất.

Dữ liệu: vào từ tập tin văn bản WORDS.INP gồm một dòng chứa xâu ký tự gồm không quá

ký tự.

Kết quả: ghi ra tập tin văn bản WORDS.OUT hai số nguyên là số từ trong xâu và độ dài của từ

dài nhất.

ụ:

WORDS.INP WORDS.OUT

TOP OF THE WORLD 4 5