Professional Documents
Culture Documents
De HSG HVG 2019 2020
De HSG HVG 2019 2020
De HSG HVG 2019 2020
1
Bài 2 (6,0 điểm): Mật khẩu.
Hiện nay, có rất nhiều cuộc tấn công vào các máy tính cá nhân với mục đích lấy
trộm các file dữ liệu thông qua mạng Internet. Trung tâm bảo mật BKAV khuyến cáo mọi
người nên đặt mật khẩu an toàn cho các file dữ liệu của mình. Mật khẩu được coi là an
toàn phải có từ 6 kí tự trở lên và có đủ 3 loại: Chữ cái Latinh in hoa [‘A’.. ‘Z’], chữ cái
Latinh in thường [‘a’.. ‘z’] và chữ số [‘0’.. ‘9’]. Ví dụ: Xâu ‘Tinhoc2019’ được coi là mật
khẩu an toàn, còn xâu ‘hsgtin2019’ không phải là mật khẩu an toàn.
Yêu cầu: Cho một xâu S chỉ gồm các kí tự là chữ cái và chữ số. Đếm xem có bao nhiêu
xâu con gồm các kí tự liên tiếp trong xâu S để xâu con đó là một mật khẩu an toàn. Biết
rằng các xâu con giống nhau hoàn toàn được coi là 1 cách.
Dữ liệu vào: File PASSWORD.INP
Gồm một dòng chứa xâu S có độ dài n kí tự (6 ≤ n ≤ 255).
Dữ liệu ra: File PASSWORD.OUT ghi một số là số lượng mật khẩu an toàn tìm được.
Ví dụ:
PASSWORD.INP PASSWORD.OUT GIẢI THÍCH
Tinhoc2019 4 Có 4 xâu con ‘Tinhoc2’, ‘Tinhoc20’,
‘Tinhoc201’ và ‘Tinhoc2019’ thỏa mãn yêu
cầu là mật khẩu an toàn.
Ti1Ti1Ti1 9 Có 10 xâu con thỏa mãn là mật khẩu an toàn:
‘Ti1Ti1’, ‘Ti1Ti1T’, ‘Ti1Ti1Ti’,
‘Ti1Ti1Ti1’, ‘i1Ti1T’, ‘i1Ti1Ti’, ‘i1Ti1Ti1’,
‘1Ti1Ti’, ‘1Ti1Ti1’, ‘Ti1Ti1’.
Có 2 xâu con trùng nhau là ‘Ti1Ti1’ nên số
lượng chính xác là 9.
2
Bài 4 (4,0 điểm): Lễ hội.
Tại Festival Huế có tổ chức biểu diễn áo dài trên sông Hương. Sân khấu trên sông
được thiết kế đặc biệt bằng cách dùng các sợi dây thừng kết nối n chiếc phà với nhau. Các
phà được đánh số hiệu từ 1 đến n, trong đó phà trung tâm có số hiệu là 1. Mỗi sợi dây chỉ
kết nối được 2 phà bất kì. Mục đích để tạo ra một sân khấu lớn sao cho từ phà trung tâm có
thể đi đến tất cả các phà còn lại. Sau khi kết nối xong, một sự cố đã xảy ra khiến cho một
số dây thừng nối giữa các phà bị đứt làm cho một số phà bị tách ra khỏi khối kết nối với
phà trung tâm. Để tổ chức được buổi biểu diễn thì số lượng phà còn đang nằm trong khối
kết nối với phà trung tâm phải lớn hơn hoặc bằng số k. Nếu không đủ thì Ban tổ chức
muốn tính xem cần ít nhất bao nhiêu sợi dây thừng để nối tất cả các phà còn lại với khối có
phà trung tâm.
Yêu cầu: Giúp Ban tổ chức đếm số phà trong khối có phà trung tâm là bao nhiêu và số sợi
dây thừng cần thêm.
Dữ liệu vào: File FESTIVAL.INP
+ Dòng đầu là 3 số n, m, k trong đó n là số lượng phà ban đầu, m là số lượng kết nối còn
lại giữa các phà và k là số phà tối thiểu (không tính phà trung tâm) để tổ chức được cuộc
biểu diễn (1 ≤ k ≤ n - 1 ≤ 103, 1 ≤ m ≤ n2).
+ m dòng tiếp theo mỗi dòng ghi 2 số là số hiệu của 2 phà còn được kết nối với nhau (các
số cách nhau bởi 1 dấu cách).
Dữ liệu ra: File FESTIVAL.OUT gồm 2 dòng:
+ Dòng 1: Ghi số lượng phà còn nằm trong khối kết nối với phà trung tâm (không tính
phà trung tâm).
+ Dòng 2: Ghi số 0 nếu số phà trong khối có phà trung tâm đủ để tổ chức buổi biểu diễn.
Trong trường hợp không đủ thì ghi số lượng dây thừng ít nhất để kết nối tất cả các phà
thành 1 khối.
Ví dụ :
FESTIVAL.INP FESTIVAL.OUT GIẢI THÍCH
877 5 Hiện tại có 5 phà
12 1 đang trong khối kết
13 nối với phà trung
23 tâm (chưa đủ 7 phà)
2 nên cần thêm 1 đoạn
4
2 4 dây thừng để nối với
35
6
46 phà 7 hoặc 8 để tất
1 7 78 cả thành một khối.
8 874 5 Vì số phà kết nối
12 0 với phà trung tâm là
3 5 13 5 mà số phà cần để
23 biểu diễn là 4 nên
24 không cần thêm dây
35
thừng để nối nữa.
46
78
-----Hết-----