Hi ha un objecte a la part superior esquerra d’un tauler . Repetidament, l’objecte es mourà una casella a la dreta o una casella cap avall. Tanmateix, el tauler té obstacles que fan que l’objecte s’aturi. També, hi ha caselles on l’objecte es mourà sempre cap a la dreta, i caselles on l’objecte es mourà sempre cap avall. Finalment, a la resta de caselles, l’objecte es mourà amb probabilitat una casella a la dreta, i amb probabilitat una casella cap avall.
Podeu calcular la probabilitat que l’objecte surti del tauler?
L’entrada consisteix en diversos casos. Cada cas comença amb
,
i
,
seguides
d’
files amb
caràcters
cadascuna. Els punts indiquen caselles buides, les ‘D’
caselles que fan anar cap a la dreta, les ‘A’ caselles que
fan anar cap avall, i les ‘X’ obstacles. Suposeu
,
i que
i
estan entre 1 i 1000.
Per a cada cas, escriviu la probabilitat demanada amb quatre xifres decimals. Per fer-ho, poseu aquestes dues línies al principi del vostre main:
cout.setf(ios::fixed);
cout.precision(4);
Els jocs de proves no tenen problemes de precisió. El resultat no serà mai ni 0 ni 1.
Input
0.7 3 4 .X.. .X.. .... 0.2 4 5 ..A.. X.... .DX.. ..... 0.5 2 3 DAX X.X
Output
0.0900 0.0144 0.5000