Loading [MathJax]/jax/output/HTML-CSS/jax.js

المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی انتخاب تیم:دوره ی ۱۷:سوال ۱۴

Numbers

باز هم یک بازی جدید! این بار دارا و سارا برای تقویت ریاضی‌شان، بازی زیر را طراحی کرده‌اند. دارا n عدد اولیه انتخاب می‌کند؛ سپس این اعداد را با روشی مشخص به n عدد نهایی تبدیل می‌کند. روش او این است که در هر مرحله می‌تواند یک عدد x را انتخاب کند و آن را به یکی از دو عدد 2×x یا 2×x+1 تبدیل کند و بدین ترتیب، x حذف می‌شود و عددی دیگر جایش می‌آید. دارا می‌تواند این کار را به تعداد مراحلی که دوست دارد انجام دهد تا n عدد نهایی به‌دست آید.

از این جا به بعد نوبت سارا شروع می‌شود:

سارا باید با دیدن n عدد اولیه و n عدد نهایی، به هر یک از اعداد اولیه مثل a، یکی از اعداد نهایی مثل b را نسبت دهد، به طوری که اولا با استفاده از روش فوق بتوان از a به b رسید و ثانیا هر یک از اعداد نهایی به یکی از اعداد اولیه نسبت داده شده باشد و هیچ دو عدد اولیه‌ای به یک عدد نهایی مشترک نسبت داده نشده باشند. هم‌اکنون دارا نقش خود را در بازی انجام داده است و قرار است شما به سارا کمک کنید.

برنامه‌ای بنویسید که:

  • اعداد اولیه و نهایی را از ورودی بخواند.
  • بین اعداد اولیه و اعداد نهایی یک تناظر یک‌به‌یک برقرار کند که از هر عدد اولیه بتوان به عدد نهایی متناظرش رسید.
  • این تناظر را در خروجی بنویسید یا مشخص کنید که این کار ناممکن است و دارا در نوبت خود بازی را درست انجام نداده است.

ورودی

  • در سطر اول ورودی، n(تعداد اعداد) آمده است.(1n250000)
  • در سطر دوم، n عدد اولیه آمده‌اند که با فاصله از هم جدا شده‌اند.
  • در سطر سوم، n عدد نهایی آمده‌اند که با فاصله از هم جدا شده‌‌اند.

خروجی

  • در صورت وجود جواب، در تنها سطر خروجی، n عدد مختلف با فاصله از هم بنویسید؛ عدد iام مشخص می‌کند که عدد نهایی نسبت داده شده به عدد اولیه‌ی iام، چندمین عدد نهایی است.
  • در صورتی که این کار ناممکن بود، در تنها سطر خروجی، 1 را بنویسید.

محدودیت‌ها

  • محدودیت زمان: ۵ ثانیه
  • محدودیت حافظه: ۳۲ مگابایت

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
3
2 3 5
6 11 4
3 1 2

ابزار صفحه