Nội dung Bài tập
- Mã:
- OLP16.Lan6.E
- Tên:
- E
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 64 MB
- Được tạo bởi:
- admin
N sinh viên trong lớp quyết định thành lập một “mạng điện thoại không dây”. Để làm điều này, các sinh viên được đánh số từ 1 đến N, sau đó mỗi học sinh chọn một bạn duy nhất (gọi là hàng xóm), để truyền tải thư trực tiếp tới.
Mạng điện thoại không dây hoạt động như sau:
• Ban đầu một sinh viên gửi thư (dĩ nhiên, chỉ tới hàng xóm của mình);• Mỗi học sinh nhận được thư (trực tiếp hoặc gián tiếp), sẽ chuyển tiếp bức thư này cho hàng xóm của mình.• Mạng điện thoại không dây làm việc đúng khi bất cứ học sinh bắt đầu việc truyền tải một bức thư, bức thư sẽ qua tay tất cả N sinh viên (do đó quay trở lại cho sinh viên khởi xướng việc truyền thư).
Hiện tại, mạng điện thoại không dây làm việc không đúng. Họ đang cân nhắc để thực hiện một chuỗi thay đổi. Một thay đổi là việc chọn một người hàng xóm khác. Xác định một chuỗi với số lượng thay đổi tối thiểu để mạng điện thoại không dây hoạt động đúng.
Dữ liệu:
• Dòng đầu tiên ghi số tự nhiên N, là số lượng sinh viên (2 ≤ N ≤ 100000).• Dòng tiếp theo là N số tự nhiên: số thứ i là người hàng xóm của người thứ i (1 ≤ i ≤ N).
Kết quả:
• Dòng đầu tiên in ra số k, là số lượng thay đổi tối thiểu để đảm bảo mạng điện thoại không dây hoạt động đúng.• Sau đó là k dòng, mỗi dòng mô tả một thay đổi và được xác định bởi hai số c, v, có nghĩa là sinh viên c thay đổi người hàng xóm là v.• Nếu có nhiều giải pháp, in ra giải pháp bất kỳ
Giới hạn:
• 30% tổng số test đảm bảo rằng tồn tại một sinh viên sẽ nhận được thư (gián tiếp hay trực tiếp) từ bất kỳ người sinh viên nào khác.• 20% tổng số test có N ≤ 1000.
Ví dụ:
Input:
10
6 9 2 7 3 1 9 3 7 9
output:
5
2 4
6 10
8 5
9 1
10 8
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận