1 [Ý kiến]Giải đề thi cao học CNTT - Giúp em giải bài này với Wed Jul 16, 2014 9:47 pm
PHL102
Thành viên ít chịu khó
Cho n công việc với thời gian bắt đầu thực hiện là s1,s2,…,sn và thời gian kết thúc là f1,f2,…,fn. Cần tìm một tập lớn nhất các công việc mà từng cặp công việc không trùng nhau về thời gian. Nói cách khác, cần tìm một tập lớn nhất x1,x2,…,xk sao cho với mọi 1 ≤ i < j ≤k, i ≠ j thì sxi ≥ fxj hoặc sxj ≥fxi.
Dữ liệu vào của bài toán được cho trong file văn bản với tên là SCHEDULE.INP có cấu trúc như sau:
• Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 1000) là số công việc.
• Dòng thứ i trong số n dòng tiếp theo chứa hai số nguyên si và fi, i = 1, 2, ..., n.
Hãy viết chương trình trên PASCAL (hoặc C) nhập dữ liệu vào từ file văn bản SCHEDULE.INP và đưa ra file văn bản SCHEDULE.OUT với danh sách các công việc tìm được.
Ví dụ
SCHEDULE.INP SCHEDULE.OUT
8
0 6 2
1 4 5
3 5 8
3 8
4 7
5 9
6 10
8 11
Dữ liệu vào của bài toán được cho trong file văn bản với tên là SCHEDULE.INP có cấu trúc như sau:
• Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 1000) là số công việc.
• Dòng thứ i trong số n dòng tiếp theo chứa hai số nguyên si và fi, i = 1, 2, ..., n.
Hãy viết chương trình trên PASCAL (hoặc C) nhập dữ liệu vào từ file văn bản SCHEDULE.INP và đưa ra file văn bản SCHEDULE.OUT với danh sách các công việc tìm được.
Ví dụ
SCHEDULE.INP SCHEDULE.OUT
8
0 6 2
1 4 5
3 5 8
3 8
4 7
5 9
6 10
8 11