المپدیا

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

ابزار کاربر

ابزار سایت


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

مکعب

یک مکعب $m\times n \times l$ داده شده است. می‌خواهیم از خانه‌ی $(1,1,1)$ این مکعب به خانه‌ی $(m,n,l)$‌ برویم، با این شرط که تنها از یک مجموعه از حرکات مجاز داده شده استفاده کنیم. در ضمن می‌خواهیم تعداد حرکاتی که از آن‌ها استفاده می‌کنیم کمینه باشد. هر حرکت با یک بردار با سه مولفه‌ی $(a,b,c)$ مشخص می‌شود و معنی آن این است که با این حرکت می‌توان از خانه‌ی $(x,y,z)$ به خانه‌ی $(x+a,y+b,z+c)$‌رفت. یادتان باشد که از هر حرکت به هر اندازه که بخواهید، می‌توانید استفاده کنید.

ورودي

در سطر اول فایل ورودی به ترتیب از چپ به راست، اعداد $m$، $n$، $l$ و $k$‌ نوشته شده و در $k$‌ نوشته شده و در $k$‌سطر بعدی، در هر سطر سه عدد $a$، $b$ و $c$ (به ترتیب) قرار دارند. همه‌ی اعداد صحیح‌اند و $1\leq m,n,l,k\leq 30$. واضح است که در طول مسیر نبایداز مکعب خارج شویم!

خروجي

در سطر اول فایل خروجی کمینه‌ی تعداد حرکت‌ها را بنویسید و در سطر‌های بعدی شماره‌ی حرکت‌ها را به ترتیب بنویسید.

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

ورودي نمونه خروجي نمونه
3 5 4 5
0 0 -1
2 2 1
0 1 -1
1 2 1
-2 0 1
3
2
5
2

ابزار صفحه