مسیرها
/
MIPS Assembly
MIPS Assembly
/
تمرین‌ها
/
ماتریس مارپیچ
ماتریس مارپیچ

ماتریس مارپیچ

متوسط

مقدمه

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

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

دستورالعمل‌ها

وظیفه‌ی شما این است که یک ماتریس مربعی با اندازه‌ی داده‌شده را برگردانید.

ماتریس باید با اعداد طبیعی پر شود؛ به این ترتیب که از ۱ در گوشه‌ی بالا-چپ شروع می‌شود و به شکل مارپیچی، به سمت داخل و در جهت عقربه‌های ساعت افزایش می‌یابد؛ مانند این نمونه‌ها:

نمونه‌ها

ماتریس مارپیچ با اندازه‌ی ۳

1 2 3
8 9 4
7 6 5

ماتریس مارپیچ با اندازه‌ی ۴

 1  2  3 4
12 13 14 5
11 16 15 6
10  9  8 7

خروجی باید به ترتیب سطری چیده شود: ابتدا همه‌ی واژه‌های سطر اول، سپس واژه‌های سطر دوم و به همین ترتیب.

ثبات‌ها

ثبات کاربرد نوع توضیح
$a0 ورودی عدد صحیح اندازه
$a1 ورودی/خروجی نشانی ماتریس واژه‌ها، به ترتیب سطری
$v0 خروجی عدد صحیح تعداد واژه‌های ماتریس
$t0-9 موقت هر نوع برای ذخیره‌سازی موقت
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
MIPS Assembly Exercism

آماده‌اید ماتریس مارپیچ را شروع کنید؟

در Exercism ثبت‌نام کنید تا MIPS Assembly را همراه با 70 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.