====== Copy paste ====== دو آرایه به طول $2n$ داریم که هر یک از اعداد $1$ تا $n$ دقیقاً دو بار در هر آرایه ظاهر شده‌اند. می‌خواهیم آرایه‌ی اول $a_1, a_2, \dots , a_{2n}$ را به آرایه‌ی دوم $b_1, b_2, \dots , b_{2n}$ تبدیل کنیم. در هر مرحله می‌توانیم یک بار عملیات paste Copy را انجام بدهیم. $$CopyPaste(i, j): a_i = a_j$$ در این سوال شما باید دنباله‌ای از عملیات‌های paste Copy ارائه کنید که آرایه اول را به آرایه دوم تبدیل کند. نمره شما بر حسب تعداد عملیات‌هایتان مشخص می‌شود. ===== ورودی ===== در خط اول عدد طبیعی $n$ آمده است. در خط دوم $2n$ عدد طبیعی‌ ‌آمده است که آرایه‌ی $a$ را نشان می‌دهد. در خط سوم $2n$ عدد طبیعی‌ ‌آمده است که آرایه‌ی $b$ را نشان می‌دهد. ===== خروجی ===== در اولین خط خروجی عدد $m$ را چاپ کنید که تعداد عملیات‌های paste Copy را نشان می‌دهد. در هر یک از $m$ خط بعدی، به ترتیب دو عدد $i$ و $j$ را چاپ کنید که نشانگر یک عملیات $CopyPaste(i, j) $ است. ===== شیوه نمره‌دهی ===== در صورتی که تمامی تست‌ها را با کم‌تر از $4n$ عملیات حل کنید، به شما ۳۰ نمره تعلق می‌گیرد. در صورتی که تمامی تست‌ها را با کم‌تر از $3n$ عملیات حل کنید، به شما ۶۰ نمره تعلق می‌گیرد. در صورتی که تمامی تست‌ها را با کم‌تر از $2n$ عملیات حل کنید، به شما نمره‌ی کامل تعلق می‌گیرد. ===== محدودیت‌ها ===== * محدودیت زمان: ۲ ثانیه * محدودیت حافظه: ۲۵۶ مگابایت * $1 \le n \le 10^5$ ===== ورودی و خروجی نمونه ===== ^ ورودی نمونه ^ خروجی نمونه ^ |2 \\ 1 2 2 1 \\ 2 2 1 1|2 \\ 1 2 \\ 3 4| |2 \\ 1 1 2 2 \\ 2 2 1 1|4 \\ 3 2 \\ 1 4 \\ 2 4 \\ 4 3| |4 \\ 4 4 3 3 2 2 1 1 \\ 1 1 2 2 3 3 4 4|16 \\ 5 4 \\ 3 6 \\ 4 6 \\ 6 5 \\ 7 6 \\ 5 8 \\ 6 8 \\ 8 7 \\ 7 1 \\ 1 8 \\ 2 8| ===== شرح ورودی و خروجی نمونه ===== در دو نمونه‌ی اول نمره‌ی کامل به خروجی تعلق می‌گیرد. در نمونه‌ی سوم از $4n$ عملیات استفاده شده است، درنتیجه ۳۰ درصد نمره به این خروجی تعلق می‌گیرد. دقت کنید در صورتی این ۳۰ نمره را دریافت می‌کنید که تمامی تست‌ها را با حداکثر $4n$ عملیات حل کنید! * [[سوال ۲|سوال بعد]]