فیل‌های دعوایی


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

یک صفحه شطرنج به صورت یک جدول n×mn \times m داریم. سطرهای آن به ترتیب از بالا به پایین با اعداد 11 تا nn و ستون‌های آن به ترتیب از چپ به راست با اعداد 11 تا mm شماره گذاری شده است.

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

توضیح تصویر

از شما می‌خواهیم با دریافت وضعیت جدول، حداکثر تعداد فیلی که می‌توان در این جدول گذاشت تا هیچ دو فیلی یکدیگر را تهدید نکنند را محاسبه کنید. همچنین یک وضعیت برای قرار دادن فیل‌ها در جدول ارائه کنید. اگر چند پاسخ برای این مسئله وجود دارد، یکی را به دلخواه چاپ کنید.

ورودی🔗

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

1n,m4001 \le n,m \le 400

در nn خط بعد در هر خط یک رشته به طول mm متشکل از . و # می‌آید. اگر حرف jjام رشته iiام # باشد یعنی خانه‌ی سطر iiام و ستون jjام با مانع پر شده است و در غیر ایصورت اگر . باشد یعنی آن خانه خالی است.

خروجی🔗

در سطر اول خروجی، عدد صحیح kk که نشان‌دهنده‌ی حداکثر تعداد فیل است را چاپ کنید.

در kk سطر بعدی، در هر سطر دو عدد صحیح rir_i و cic_i که با یک فاصله از هم جدا شده‌اند و به ترتیب نشان‌دهنده‌ی شماره‌ی سطر و ستون فیل iiام است را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

4 11
...#..#....
.#.##.#....
...#.##....
####..#....
Plain text

خروجی نمونه ۱🔗

16
1 1
1 3
1 5
1 6
1 8
1 9
1 10
2 1
2 3
3 1
3 3
3 5
4 5
4 8
4 9
4 10
Plain text

توضیح تصویر

خانه‌های سفید خالی، خانه‌های سیاه مانع و خانه‌های سبز فیل هستند.


ورودی نمونه ۲🔗

10 10
.....#....
.#......#.
.#...#....
.....#....
..........
#....#.#..
.........#
#......#..
...#...#..
.....#....
Plain text

خروجی نمونه ۲🔗

27
1 1
1 3
1 4
1 8
1 9
1 10
2 1
3 1
3 3
3 10
4 1
4 3
4 7
4 10
5 7
5 10
6 10
7 1
7 2
7 7
8 4
8 9
8 10
9 1
10 3
10 9
10 10
Plain text

توضیح تصویر