QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#21355. Che succede alla gravità?

Statistics

La capitana Bovidian parte per salvare la compagna di equipaggio, la dottoressa Beefalo. Come in ogni grande avventura, il mondo visto di lato è una griglia bidimensionale $N \times M$ ($1 \le N, M \le 500$). Alcune celle sono vuote, altre bloccate e non attraversabili.

Non può saltare e segue queste regole fisiche.

  1. Se non esiste una cella subito sotto (bordo della griglia), vola nello spazio e fallisce.

  2. Se la cella sotto è vuota, cade in essa.

  3. Altrimenti: a) Può andare a sinistra o destra se la cella corrispondente esiste ed è vuota. b) Oppure invertire la gravità.

Invertire cambia il «sotto» (regole 1, 2) fra la riga con indice uno maggiore e uno minore. La prima riga dell’input è 1, l’ultima $N$. Inizialmente sotto è l’indice uno maggiore.

La dottoressa si è persa. Raggiungi la sua cella con il minimo di inversioni. Se impossibile, stampa -1.

Input

  • Riga 1: interi $N$, $M$ separati da uno spazio.
  • Righe $2..1+N$: la riga $i+1$ descrive la riga $i$ del mondo. '.' è vuota, '#' bloccata, 'C' l’inizio della capitana e 'D' quello della dottoressa.

Output

  • Riga 1: intero con il minimo di inversioni per raggiungerla, o -1 se impossibile.

Esempi

Input 1

5 5
#####
#...#
#...D
#C...
##.##

Output 1

3

Note

Da (4,2) inverte e cade in (2,2), poi va due volte a destra fino a (2,4). Inverte e cade in (4,4), va a destra fino a (4,5). Infine inverte e cade dalla dottoressa in (3,5).

Autore del problema: Mark Gordon, 2013

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.