کارآگاه آرین و قفل مرگبار
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ورود