بازی TWIN
بازی TWIN یک بازی یکنفره است و روی یک گراف جهتدار انجام میشود. این گراف $N$ راس دارد. رئوس و یالهای این گراف با رنگهای ۱ تا $N$ رنگآمیزی شدهاند، در ضمن رنگ هیچ دو راسی یکسان نیست. در ابتدا دو مهره در دو راس $I$ و $W$ قرار دارند و هدف رساندن یکی از این دو مهره در کوتاهترین زمان به خانهی $T$ با توجه به قوانین زیر است:
- در هر مرحلهیکی از دو مهره را (نه لزوما به ترتیب) باید حرکت داد.
- هر حرکت روی یک یال و در جهت آن انجام میشود.
- یال مورد استفاده در یک مرحله باید همرنگ راس ثابت در آن مرحله باشد.
- هیچگاه دو مهره در یک راس قرار نمیگیرند.
ورودی
در سطر اول فایل ورودی به ترتیب اعداد $N$، $I$، $W$ و $T$ آمده است $(N\leq 100)$ و پس از آن در $N$ سطر ماتریس مجاورت گراف با توجه به رنگ یالها قرار دارد. توجه داشته باشید که صفر نشانهی عدم وجود یال و عدد غیر صفر رنگ یک یال را مشخص میکند. (فرض کنید راس شمارهی $v$ رنگ $v$ دارد.)
خروجی
در سطر اول فایل خروجی تعداد مراحل و در سطرهای بعدی حرکت هر مرحله را بنویسید. یک حرکت به صورت یک زوج $(a,b)$ مشخص میشود که $a$ شمارهی راس مبدا و $b$ شمارهی راس مقصد است. بهیاد داشته باشید که هدف کمینه کردن تعداد حرکتهاست و فرض کنید ورودی همواره جواب دارد.
ورودی و خروجی نمونه
| ورودی نمونه | خروجی نمونه |
|---|---|
| 3 2 3 1 0 0 2 1 0 0 2 3 0 | 1 3 1 |