المپدیا

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

ابزار کاربر

ابزار سایت


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

چنبره

یک چنبره جدولی است $n \times n$ به‌طوری که سطر اول و سطر آخرش مجاور هم هستند و ستون اول و آخرش هم مجاور یک‌دیگرند. به‌عنوان مثال خانه‌ی (1 , 1) که خانه‌ی گوشه‌ی بالا و سمت چپ جدول است مجاور خانه‌های ( n و 1 ) (خانه‌ی گوشه بالا و سمت راست جدول) و ( 1 و n ) (خانه‌ی گوشه‌ی پایین و سمت چپ جدول) است.

یک چنبره را با اعدادی پر کرده و اسم آن را $A$ قرار داده‌ایم. شما بایستی یک چنبره‌ی $B$ را طبق قانونی که در زیر گفته شده پر کنید.

یک عدد $k$ به شما داده شده است. برای هر خانه‌ی ($j$,$i$) از جدول مربعی به ضلع $2k+1$ حول آن در نظر بگیرید بطوری که خانه‌ی مرکزی مربع خانه‌ی ($j$,$i$) باشد؛ شما بایستی مجموع اعداد این مربع از چنبره‌ی $A$ را در خانه‌ی ($j$,$i$) از چنبره‌ی $B$ قرار دهید.

ورودی

  • در سطر اول ورودی به‌ترتیب $n$ و $k$ نوشته شده است.
  • در $n$ سطر بعدی در هر سطر $n$ عدد نوشته شده است به‌طوری که اعداد سطر $i+1$ ورودی اعداد سطر $i$ از چنبره‌ی $A$ را نشان می‌دهد.
  • ‎$1 \leq 2k+1 \leq n \leq 1000$‎

خروجی

خروجی $n$ سطر دارد و شما بایستی در هر سطر $n$ عدد بنویسید به‌طوری که اعداد سطر $i$ام خروجی اعداد سطر $i$ام چنبره‌ی $B$ را نشان می‌دهد.

محدودیت‌ها

  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

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

ورودي نمونه خروجي نمونه
4 1
3 1 1 2
1 1 2 1
1 2 1 1
2 1 1 1
13 13 11 14
13 13 12 13
11 12 11 11
14 13 11 13

توصیه

می‌دانیم اعداد چنبره‌های $A$ و $B$ در long long جا می‌شوند. ولی ممکن است مجموع اعداد چنبره‌ی $A$ خیلی بیش‌تر از بزرگ‌ترین عددی باشد که در long long جا می‌شود. برای خواندن یک عدد long long از ورودی از دستور (fscanf(fin, »%lld», &x و برای نوشتن آن در خروجی از دستور (fprintf(fout, »%lld», x استفاده کنید.


ابزار صفحه