کارآگاه آرین و قفل مرگبار

timer
محدودیت زمان: ۱ ثانیه
task_alt
نرخ پذیرش: ۲۵٪
send
پاسخ‌های ثبت‌شده: ۴ ارسال
group
شرکت‌کنندگان: ۱ نفر

descriptionشرح مسئله

Problem #48

بعد از هفته‌ها تعقیب و تحقیق، کارآگاه مشهور، آرین، بالاخره تلفن همراه قاتل سریالی را پیدا کرد.
اما فقط یک مشکل باقی مانده است...

گوشی با یک قفل الگویی (Pattern Lock) محافظت می‌شود؛ همان الگویی که با کشیدن انگشت روی صفحه رسم می‌شود و عددی تایپ نمی‌شود.
اعداد روی تصویر فقط برای مشخص کردن جایگاه نقاط هستند.

آرین با استفاده از دستگاه تحلیل اثر انگشت متوجه شده بعضی از نقاط صفحه حتماً در الگو لمس شده‌اند.
حالا او باید قبل از پاک شدن اطلاعات گوشی، تعداد تمام الگوهای ممکن را پیدا کند.

صفحه‌ی قفل به شکل زیر است:

1 2 3
4 5 6
7 8 9

قوانین الگو:

  • هر عدد حداکثر یک بار می‌تواند در الگو ظاهر شود.
  • ترتیب لمس اعداد مهم است.
  • هنگام حرکت بین دو عدد، ممکن است دقیقا یک عدد در وسط مسیر آن‌ها قرار داشته باشد.
    • اگر آن عددِ وسط قبلاً در الگو دیده شده باشد، حرکت مستقیم مجاز است.
    • در غیر این صورت، آن عدد نیز هنگام حرکت لمس شده و به الگو اضافه می‌شود.

مثال‌ها:

  • بین 1 و 3 عدد 2 در وسط قرار دارد.
  • بین 1 و 9 عدد 5 در وسط قرار دارد.
  • بین 1 و 7 عدد 4 در وسط قرار دارد.

برای مثال، در حرکت 1 → 3:

  • اگر 2 قبلاً دیده شده باشد، فقط 3 لمس می‌شود.
  • وگرنه مسیر از روی 2 عبور کرده و 2 نیز به الگو اضافه می‌شود.

به آرین کمک کنید تعداد الگوهای معتبری را پیدا کند که تمام اعداد داده‌شده را حداقل یک بار لمس کنند.

swap_horizقالب ورودی و خروجی

inputساختار ورودی (Input Format)

در خط اول عدد n داده می‌شود — تعداد اعدادی که اثر انگشت آن‌ها پیدا شده است.

outputساختار خروجی (Output Format)

در خط دوم n عدد متمایز داده می‌شود که نشان می‌دهد این نقاط حتماً باید در الگو لمس شده باشند.
info توجه: خروجی را دقیقاً مطابق خواسته چاپ کنید؛ کاراکتر اضافی یا عبارات توصیفی نباید در خروجی چاپ شوند.

terminalنمونه‌های آزمایشی (Sample Test Cases)

۱ نمونه
نمونه ۱
ورودی نمونه ۱
3
1 2 3

خروجی نمونه ۱
4

sendارسال راهکار (Submission)

برای ارسال و داوری پاسخ باید وارد حساب کاربری خود شوید. اجرای نمونه‌ها بدون ورود هم ممکن است. loginورود
فایل ارسالی: — محدودیت زمان اجرا: ۱ ثانیه

اگر در تب «آپلود فایل کد» فایلی انتخاب کنید، همان فایل برای داوری ارسال می‌شود و محتوای ویرایشگر نادیده گرفته می‌شود.

مشاهده بهترین ارسال‌های کاربران open_in_new