current date=2025-03-21 23:34:47 start-date=2023-12-13 09:00:00
مربع جادویی
یک مربع جادویی، یک ماتریس n×n است که در آن، عداد m تا m+n^2−1 قرار دارند و مجموع اعداد هر سطر، هر ستون و هر قطر، باهم برابر است. شکل زیر یک مربع جادویی 3×3 را نشان میدهد که در آن اعداد یک تا ۹ قرار گرفتهاند و مجموع اعداد هر سطر، ستن و قطر برابر با ۱۵ است. یک راه حل برای ساختن مربع جادویی از مرتبهی فرد (وقتی که n فرد باشد)، قرار دادن کمینهی اعداد m در خانهی شماره (n+1)/2 از ردیف اول و سپس شروع به قراردهی اعداد از عدد k=m+1 مطابق الگوریتم زیر است. توجه شود که بالاترین سطر شماره یک، پایینترین سطر شماره n، چپترین ستون شماره یک و راستترین ستون شماره n فرض شده است.
- به سمت راست-بالا حرکت کن؛ بنابراین اگر خانهی فعلی سطر i و ستون j باشد، خانهی بعدی سطر i−1 و ستون j+1 خواهد بود.
- اگر شمارهی سطر و شمارهی ستون خانه از یک تا n باشد، به مرحلهی شماره ۳ برو. در غیر این صورت، چنانچه شمارهی سطر صفر باشد، شمارهی سطر را به n تغییر بده و در صورتی که شماره ستون n+1 باشد، آن را به شمارهی یک تغییر بده.
- چنانچه خانه قبلاً توسط عددی پر شده باشد، شمارهی سطر را یک عدد افزایش بده (یک ردیف یه پایین بیا)؛ در غیر این صورت به مرحلهی ۴ برو.
- عدد k را در خانه قرار بده. اگر تمامی خانهها پر باشد، مربع جادویی ساختهشده است؛ در غیر این صورت عدد را یکی افزایش بده و مرحلهی یک را تکرار کن.

1≤ n,m ≤ 100
1≤ n,m ≤ 100
خروجی: در خروجی مربع جادویی را چاپ کنید.
ورودی نمونه
3 1
خروجی نمونه
8 1 6 3 5 7 4 9 2
برای ارایه را حل لطفا وارد شوید.