Một số nguyên dương x gọi là con của số nguyên dương y nếu ta có thể xoá bớt một số chữ số của y
đểđược x.
Cho hai số nguyên dương a và b hãy tìm số c nhận cả a và b là con, sao cho giá trị của c là nhỏ
nhất có thể.
Ràng buộc: 1 ≤ a, b ≤ 10100;
Dữ liệu: Vào từ file văn bản NUMBER.INP • Dòng thứ nhất chứa số a
• Dòng thứ hai chứa số b
Kết quả: Ghi ra file văn bản NUMBER.OUT • Ghi ra trên một dòng số c.
Ví dụ:
NUMBER.INP NUMBER.OUT NUMBER.INP NUMBER.OUT 111999111 111999111
999111999
111999111999 567812345678 123456781234 123456781234
100. NỐI DÂY
Cho hai đường thẳng song song nằm ngang d1 và d2. Trên mỗi đường thẳng, người ta chọn lấy n
điểm phân biệt và gán cho mỗi điểm một số nguyên dương là nhãn của điểm đó: • Trên đường thẳng d1, điểm thứ i (theo thứ tự từ trái qua phải) được gán nhãn là ai. • Trên đường thẳng d2, điểm thứ j (theo thứ tự từ trái qua phải) được gán nhãn là bj.
Ởđây (a1, a2, ..., an) và (b1, b2, ..., bn) là những hoán vị của dãy số (1, 2, ..., n)
Yêu cầu: Hãy chỉ ra một số tối đa các đoạn thẳng thoả mãn:
• Mỗi đoạn thẳng phải nối hai điểm có cùng một nhãn: một điểm trên đường thẳng d1 và một
điểm trên đường thẳng d2.
• Các đoạn thẳng đôi một không có điểm chung
d1 d2 3 2 1 5 6 4 2 3 5 6 1 4
Dữ liệu: Vào từ file văn bản LINES.INP • Dòng 1: Chứa số nguyên dương n ≤ 5000 • Dòng 2: Chứa n số của dãy hoán vị a1, a2, ..., an. • Dòng 3: Chứa n số của dãy hoán vị b1, b2, ..., bn.
Kết quả: Ghi ra file văn bản LINES.OUT • Dòng 1: Ghi số k là sốđoạn thẳng nối được.
• Dòng 2: Ghi k nhãn của các đoạn thẳng được chọn (nhãn của mỗi đoạn thẳng là nhãn của điểm
đầu mút)
Các số trên một dòng của Input / Output file ghi cách nhau ít nhất một dấu cách.
Ví dụ:
LINES.INP LINES.OUT LINES.INP LINES.OUT 6 6 2 3 1 5 6 4 3 2 5 6 1 4 4 4 6 5 3 7 1 2 3 4 5 6 7 1 2 6 7 3 4 5 5 1 2 3 4 5
Cách cho điểm: Chấm theo 10 Test, điểm tối đa cho mỗi Test là 1.
Đối với mỗi một Test:
• Nếu chương trình chạy gặp lỗi, hoặc ghi sai khuôn dạng Output, hoặc cho phương án nối dây không hợp lệ (có hai đoạn thẳng cắt nhau), hoặc chạy quá 10 giây: 0 điểm.
101. GHI ĐĨA
Có n file đánh số 1, 2, ..., n. File thứ i có kích thước là ai. Cho trước một số đĩa mềm trắng, dung lượng của mỗi đĩa là M.
Yêu cầu: Hãy tìm cách ghi file lên các đĩa mềm sao cho số đĩa mềm phải dùng là ít nhất. (Tất nhiên mỗi đĩa không thể chứa quá dung lượng M và mỗi file phải nằm gọn trong một đĩa nào đó chứ không được cắt nhỏ và ghi vào nhiều đĩa khác nhau).
Ràng buộc: 1 ≤ n ≤ 100; các ai và M là các số nguyên dương: 1 ≤ ai≤ M ≤ 10000. ∀i
Dữ liệu: Vào từ file văn bản DISKS.INP • Dòng 1: Chứa hai số n, M
• Các dòng tiếp: Chứa các số từ a1đến an theo đúng thứ tựđó
Kết quả: Ghi ra file văn bản DISKS.OUT • Dòng 1: Ghi số k là sốđĩa phải dùng
• Dòng thứ i trong k dòng tiếp theo, ghi số hiệu của các file được ghi vào đĩa mềm thứ i.
Các số trên một dòng của Input / Output file được ghi cách nhau ít nhất một dấu cách.
Ví dụ: DISKS.INP DISKS.OUT 8 14 9 7 4 3 3 2 8 6 3 1 4 6 7 8 2 3 5