Hiển thị các bài đăng có nhãn dãy con tăng. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn dãy con tăng. Hiển thị tất cả bài đăng

Chủ Nhật, 20 tháng 3, 2016

NỐI DÂY

Cho hai đường thẳng song song nằm ngang ab. 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 a, đ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 b, đ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 thỏa 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 a và một điểm trên đường thẳng b.
+ Các đoạn thẳng đôi một không có điểm chung

Dữ liệu: Vào từ tệp văn bản LINES.INP
+ Dòng 1: chứa số nguyên dương n ≤ 105
+ Dòng 2: chứa n số theo thứ tự là a1, a2,…,an
+ Dòng 3: Chứa n số theo thứ tự là b1, b2,…,bn
Kết quả: Ghi ra tệp 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 trong tệp input/output được/phải ghi cách nhau ít nhất một ký tự trắng.
Ví dụ:
LINES.INP
LINES.OUT
6
2 3 1 5 6 4
3 2 5 6 1 4
4
3 4 5 6
 TEST -  CODE