====== بازی 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 | * [[سوال ۵|سوال بعد]] * [[سوال ۳|سوال قبل]]