Một số nguyên dương x gọi là con của số ngun dương y nếu ta có thể xố 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ố ngun dương n ≤ 5000 • Dịng 2: Chứa n số của dãy hố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