• محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت
  • منبع: آزمون مقدماتی اول دوره ۲۶ المپیاد کامپیوتر

دو آرایه به طول 2n2n داریم که هر یک از اعداد 11 تا nn دقیقاً دو بار در هر آرایه ظاهر شده‌اند. می‌خواهیم آرایه‌ی اول a1,a2,,a2na_1, a_2, \ldots , a_{2n} را به آرایه‌ی دوم b1,b2,,b2nb_1, b_2, \ldots , b_{2n} تبدیل کنیم. در هر مرحله می‌توانیم یک بار عملیات CopyPasteCopyPaste را انجام بدهیم.

CopyPaste(i,j): ai = ajCopyPaste(i, j):\ a_i\ =\ a_j

در این سوال شما باید دنباله‌ای از عملیات‌های CopyPasteCopyPaste ارائه کنید که آرایه اول را به آرایه دوم تبدیل کند. نمره شما بر حسب تعداد عملیات‌هایتان مشخص می‌شود.

ورودی

در خط اول عدد طبیعی nn آمده است.

در خط دوم 2n2n عدد طبیعی‌ ‌آمده است که آرایه‌ی aa را نشان می‌دهد.

در خط سوم 2n2n عدد طبیعی‌ ‌آمده است که آرایه‌ی bb را نشان می‌دهد.

1n100 0001 \le n \le 100\ 000 1ai,bin1 \le a_i, b_i \le n

خروجی

در اولین خط خروجی عدد mm را چاپ کنید که تعداد عملیات‌های CopyPasteCopyPaste را نشان می‌دهد.

در هر یک از mm خط بعدی، به ترتیب دو عدد ii و jj را چاپ کنید که نشانگر یک عملیات CopyPaste(i,j)CopyPaste(i, j) است.

زیرمسئله‌ها

زیرمسئله نمره محدودیت
۱ ۳۰ شما باید همه‌ی تست‌ها را با کمتر از 4n4n عملیات حل کنید.
۲ ۳۰ شما باید همه‌ی تست‌ها را با کمتر از 3n3n عملیات حل کنید.
۳ ۴۰ شما باید همه‌ی تست‌ها را با کمتر از 2n2n عملیات حل کنید.

مثال

ورودی نمونه ۱

2
1 2 2 1
2 2 1 1
Plain text

خروجی نمونه ۱

2
1 2
3 4
Plain text

در این نمونه کمتر از 2n2n عملیات استفاده شده؛ پس این خروجی برای همه‌ی زیرمسئله‌های سوال صحیح است.

ورودی نمونه ۲

2
1 1 2 2
2 2 1 1
Plain text

خروجی نمونه ۲

4
3 2
1 4
2 4
4 3
Plain text

در این نمونه از 2n2n عملیات استفاده شده؛ پس این خروجی برای همه‌ی زیرمسئله‌های سوال صحیح است.

ورودی نمونه ۳

4
4 4 3 3 2 2 1 1
1 1 2 2 3 3 4 4
Plain text

خروجی نمونه ۳

16
5 4
3 6
4 6
6 5
7 6
5 8
6 8
8 7
7 1
1 8
2 8
8 7
5 1
1 6
2 6
6 5
Plain text

در این نمونه از 4n4n عملیات استفاده شده است، درنتیجه تنها برای زیرمسئله‌ی الف صحیح است.


ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.