Fişierul intrare/ieşire: | logic2.in, logic2.out | Sursă | Lista lui Francu |
Autor | Valentin Gheorghita | Adăugată de | |
Timp execuţie pe test | 0.35 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Logic2
Insula Logicii are trei tipuri de locuitori: fiinte divine, care spun intotdeauna adevarul, fiinte malefice, care mint intotdeauna, si oameni, care spun adevarul ziua si mint noaptea. Fiecare locuitor al insulei poate recunoaste tipul oricarui alt locuitor. Un sociolog vrea sa viziteze insula. Deoarece el nu poate distinge cele trei tipuri de locuitori doar dupa aspect, el iti cere un analizator care sa deduca fapte din conversatiile cu locuitorii. Faptele care il intereseaza sunt daca este zi sau noapte si de ce tip sunt interlocutorii sai.
Date de intrare
Fisierul de intrare logic2.in contine o conversatie. Fiecare linie a fisierului contine cate o afirmatie facuta de un locuitor. Toate liniile incep cu numele interlocutorului (care este o litera mare A, B, C, D sau E) urmat de ":" si apoi o afirmatie de forma:
- Eu [nu] mint.
- Eu [nu] sunt {divin | om | malefic}.
- X [nu] minte.
- X [nu] este {divin | om | malefic}.
- Este {zi | noapte}.
Cuvintele care sunt cuprinse intre paranteze patrate pot aparea sau nu in afirmatie. Dintre cuvintele cuprinse intre acolade, apare exact un cuvant in afirmatie. O conversatie poate avea cel mult 50 afirmatii.
Date de iesire
Fisierul logic2.out va contine tot ceea ce se poate deduce in urmatoarea forma:
- X este {divin | malefic | om}.
- Este {zi | noapte}.
X se inlocuieste cu numele interlocutorului. Faptele trebuie date in ordine alfabetica, sortate dupa numele interlocutorilor, iar apoi se spune daca e zi sau noapte. Daca nu se poate deduce nimic se va tipari "Nu se poate deduce nimic.", iar daca conversatia nu respecta regulile de mai sus se va tipari "Imposibil.".
Exemplu
logic2.in | logic2.out |
---|---|
A: B este om. B: A este malefic. A: B este malefic | A este malefic. B este divin. |
Explicatie
Este evident ca A minte deoarece cele doua afirmatii ale lui sunt contradictorii. Deci B nu poate fi nici om, nici malefic, deci el este divin. B spune intotdeauna adevarul, deci A trebuie sa fie malefic.