المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:متفرقه:آزمون های اینترنتی ۸۹ تا ۹۱:سوال ۲۶

Exchange

یک جدول ‎$n \times m$‎ داریم که بعضی از خانه‌های آن سیاه‌اند و بعضی سفید. دو خانه مجاورند اگر هر دو سفید باشند و یا مجاور راسی باشند یا مجاور ضلعی. شما دو مهره در این جدول قرار داده‌اید و می‌خواهید با کم‌ترین تعداد حرکت جای این دو مهره را عوض کنید.

‎ شما می‌توانید در یک حرکت هر کدام از مهره‌ها را یا ثابت بگذارید یا به یک خانه مجاور آن ببرید به‌طوری‌که:

  • در انتهای یک حرکت دو مهره در یک خانه قرار نداشته باشند.
  • در یک حرکت جای دو مهره عوض نشود. یک مهره درصورتی می‌تواند به خانه مهره دیگر برود که در پایان حرکت، مهره دیگر در خانه‌ای غیر از خانه آن قرار داشته باشد.

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

ورودی

  • در سطر اول ورودی دو عدد ‎$1 \leq n \leq 20$‎ و ‎ $1 \leq m \leq 20$‎نشانگر تعداد سطرها و تعداد ستون‌ها جدول آمده است.
  • در ‎$n$‎ سطر بعد، در هر یک $m$‎ کاراکتر آمده است که هر کدام از آن‌ها به یکی از صورت‌های زیر است.‎
    • ‎$X$‎ نشان‌دهنده یک خانه سیاه است‎.‎
    • ‎.‎ نشان‌دهنده یک خانه سفید است که در آن مهره‌ای نیست‎.‎
    • ‎$A$‎ نشان‌دهنده یک خانه سفید است که در آن مهره‌ی اول قرار دارد‎.‎
    • ‎$B$‎ نشان‌دهنده یک خانه سفید است که در آن مهره‌ی دوم قرار دارد‎.‎

خروجی

در تنها سطر خروجی پاسخ سوال را چاپ نمایید. درصورتی‌که این کار امکان‌پذیر نبود در خروجی ‎$-1$‎ چاپ نمایید.‎

محدودیت‌ها

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

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

ورودی نمونه خروجی نمونه
20 20‎
AB……………..X‎
XXXXXXXXXXXXXXXXXXX‎.
X…………….XX‎.
.XXXXXXXXXXXXXXXX.X.‎
.XX…………XX.X.‎
.X.XXXXXXXXXXXX.X.X.‎
.X.XX……..XX.X.X.‎
.X.X.XXXXXXXX.X.X.X.‎
.X.X.XX….XX.X.X.X.‎
.X.X.X.XXXX.X.X.X.X.‎
.X.X.X.X.XX.X.X.X.X.‎
.X.X.X.X…XX.X.X.X.‎
.X.X.X.XXXXXX.X.X.X.‎
.X.X.XX……XX.X.X.‎
.X.X.XXXXXXXXXX.X.X.‎
.X.XX……….XX.X.‎
.X.XXXXXXXXXXXXXX.X.‎
‎.XX…………..XX.‎
.XXXXXXXXXXXXXXXXXX.‎
X………………X
397
5 7‎
X..A..X‎
.XXXXX.‎
.‎X…XB‎
.XXXXX.‎
‎X…..X
12
20 20‎
A……………..XX
.‎…………….XXX‎
…………….XXX.‎
……………XXX..‎
…………..XXX…‎
………….XXX….‎
…………XXX…..‎
………..XXX……‎
……….XXX…….‎
………XXX……..‎
……..XXX………‎
…….XXX……….‎
……XXX………..‎
…..XXX…………‎
….XXX………….‎
…XXX…………..‎
..XXX……………‎
.XXX…………….‎
XXX…………….‎.
XX……………..B
-1

ابزار صفحه