Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: bevielis_internetas.in
Rezultatų failas: bevielis_internetas.out
Bevielis internetas
Gerda stovi ant skaičių ašies taške su koordinate . Margiris siunčia sąrašą komandų į Gerdos telefoną per bevielį tinklą, o Gerda tas komandas seka.
Kiekviena komanda yra vienos iš dviejų rūšių:
- reiškia, kad reikia paeiti vieną žingsnį į priekį
- reiškia, kad reikia paeiti vieną žingsnį atgal.
Deja, bevielis ryšys yra toks silpnas, kad Gerdos išmanusis telefonas kai kurių komandų nesugeba atpažinti, o net ir atpažintos komandos nebūtinai yra teisingos. Gerda nusprendžia laikytis tokios taisyklės: kiekvieną atpažintą komandą ji įvykdo, o kiekvienos netpažintos komandos vietoje ji meta monetą, kad nuspręstų, kuria kryptimi reikia eiti. Moneta yra ideali, t.y. galite tarti, kad abiejų pusių atsivertimo tikimybės yra lygiai .
Jums duotos dvi sekos - tai, ką siuntė Margiris, ir tai, ką gavo Gerda. Jūsų užduotis - apskaičiuoti tikimybę, kad Gerda atsidurs tiksliai ten, kur būtų atsidūrusi, jei visos komandos būtų atpažintos.
Pradiniai duomenys
Pirmoje eilutėje pateikta simbolių eilutė - komandų seka, kurią siuntė Margiris.
Antroje eilutėje pateikta simbolių eilutė - komandų seka, kurią gavo Gerda. Neatpažintos komandos žymimos simboliu .
Abiejų simbolių eilučių ilgai ilgiai neviršija .
Rezultatai
Jūsų programa turi išvesti vieną realųjį skaičių - ieškomą tikimybę. Atsakymas bus laikomas teisingu, jei paklaida neviršys . Tiksliau tariant, jei jūsų atsakymas yra , o tikslus atsakymas yra , tai jūsų atsakymas bus laikomas teisingu, jei galios nelygybė
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
++-+- +-+-+ |
1.000000000000 |
+-+- +-?? |
0.500000000000 |
+++ ??- |
0.000000000000 |