المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۲۶:عملی مقدماتی اول:سوال ۱

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$ عملیات حل کنید!


ابزار صفحه