CSES - Datatähti 2022 loppu - Sokkelo
  • Language:
  • Time limit: 1.00 s
  • Memory limit: 512 MB
Justiina ja Kotivalo ovat $n \times m$ -kokoisessa sokkelossa. Sokkelossa voi liikkua lattiaruutuja pitkin pysty- ja vaakasuunnassa. Samassa ruudussa voi olla enintään yksi henkilö.

Kahden ruudun välinen etäisyys on Manhattan-etäisyys, eli kun ruudut ovat $(y_1,x_1)$ ja $(y_2,x_2)$, niiden etäisyys on $|y_1-y_2|+|x_1-x_2|$.

Tehtäväsi on selvittää, kuinka lähelle toisiaan Justiina ja Kotivalo voivat päästä, jos he liikkuvat optimaalisesti.

Syöte

Ensimmäisellä rivillä on kaksi kokonaislukua $n$ ja $m$: sokkelon korkeus ja leveys.

Tämän jälkeen tulee sokkelon kuvaus: $n$ riviä, joista jokaisella on $m$ merkkiä. Merkki voi olla . (lattia), # (seinä), A (Justiinan alkukohta) tai B (Kotivalon alkukohta).

Voit olettaa, että jokainen reunaruutu on seinää ja merkkejä A ja B on molempia tasan yksi syötteessä.

Tuloste

Tulosta yksi kokonaisluku: pienin mahdollinen etäisyys.

Esimerkki 1

Syöte:
5 8
########
#A#.#.B#
#.#.####
#...#..#
########


Tuloste:
2

Esimerkki 2

Syöte:
5 8
########
#A#...B#
#.#.####
#...#..#
########


Tuloste:
1

Osatehtävä 1 (28 pistettä)
  • $3 \le n,m \le 20$
Osatehtävä 2 (72 pistettä)
  • $3 \le n,m \le 1000$