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

یک ساختمان داریم که به شکل یک جدول \(n \times m\) است. می‌دانیم دور تا دور این جدول دیوار است. می‌خواهیم تعدادی از این خانه‌ها را مسدود کنیم به طوری که تعداد ناحیه‌هایی که از خانه‌های مسدود نشده داخل جدول به‌وجود می‌آید دقیقا \(k\) تا باشد. همچنین برای هدر نرفتن مساحت ساختمان، می‌خواهیم هیچ خانه‌ی مسدودی نداشته باشیم که همه‌ی همسایه‌های اطرافش مسدود باشد.

  • دو خانه از جدول همسایه هستند اگر در حداقل یک نقطه مشترک باشند.
  • دو خانه باهم در یک ناحیه قرار دارند اگر هر دو آن‌ها مسدود نشده باشند و همچنین از یک خانه به دیگری مسیری از خانه‌های همسایه و مسدود نشده وجود داشته باشد.

به شما \(n\) و \(m\) و \(k\) داده می‌شود. اگر جدولی با خواسته‌های سؤال وجود داشت آن‌ را خروجی دهید در غیر این صورت عبارت \(-1\) را خروجی دهید.

ورودی

در یک خط به ترتیب سه عدد صحیح \(n\) و \(m\) و \(k\) ورودی داده می‌شود.

\[ 1 \le n, m \le 1000\] \[ 1 \le k \le n \times m \]

خروجی

اگر جدولی با خواسته‌های سؤال وجود داشت آن‌ را خروجی دهید در غیر این صورت -1 را خروجی دهید.

برای خانه‌های مسدود X و خانه‌های مسدود نشده از O استفاده کنید.

مثال‌ها

ورودی نمونه ۱

4 7 5

خروجی نمونه ۱

OXOXOXO
OXOXOXO
OXOXXXO
OXOXOXO

ورودی نمونه ۲

2 2 4

خروجی نمونه ۲

-1
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.