Fişierul intrare/ieşire:procente.in, procente.outSursăONI 2015, clasa a 10-a
AutorCiprian ChescaAdăugată deharababurelPuscas Sergiu harababurel
Timp execuţie pe test0.4 secLimită de memorie28672 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Procente

Definim o modificare procentuală de preţ ca fiind o pereche \left ( c, \: p \right ) formată dintr-un caracter \[c \in \left \{ \textsc{\char13}+\textsc{\char13}, \textsc{\char13}-\textsc{\char13} \right \}\] şi un număr natural p. Dacă c = \textsc{\char13}+\textsc{\char13} atunci are loc o scumpire iar dacă c = \textsc{\char13}-\textsc{\char13} atunci are loc o ieftinire a unui preţ, iar numărul p reprezintă procentul de modificare a preţului.

Exemple de modificări procentuale de preţ:

  • (+ \: 35) reprezintă scumpirea unui preţ cu 35\%;
  • (- \: 50) reprezintă ieftinirea unui preţ cu 50\%.

Unui preţ iniţial i se poate aplica o succesiune de n modificări procentuale de preţ, obţinându-se un preţ final.
Numim ciclu de preţ de lungime n o succesiune de n modificări procentuale de preţ, cu proprietatea că preţul final este egal cu preţul iniţial.
Exemple de cicluri de preţ :

  • de lungime n=2: \[(- \: 20)(+ \: 25)\]
  • de lungime n=3: \[(- \: 50)(+ \: 25)(+ \: 60)\]

Cerinţă

Să se scrie un program care citeşte un număr natural n şi determină numărul de cicluri de preţ de lungime n distincte ce conţin cel puţin o dată, o modificare procentuală cunoscută \left ( c, \: p \right ).

Date de intrare

Fişierul de intrare procente.in conţine pe prima linie numărul natural n şi pe a doua linie un caracter \[c \in \left \{ \textsc{\char13}+\textsc{\char13}, \textsc{\char13}-\textsc{\char13} \right \}\], urmat de un număr natural p, despărţite printr-un spaţiu, cu semnificaţia de mai sus.

Date de ieşire

În fişierul de ieşire procente.out va conţine pe prima linie numărul căutat.

Restricţii

  • 2 ≤ n ≤ 80
  • Valoarea procentului p în caz de scumpire este cuprinsă între 0 şi 100 inclusiv.
  • Valoarea procentului p în caz de ieftinire este cuprinsă între 1 şi 99 inclusiv.
  • Două modificări procentuale de preţ \left ( c_{1}, \: p_{1} \right ), \left ( c_{2}, \: p_{2} \right ) sunt diferite dacă c_{1} \neq c_{2} sau p_{1} \neq p_{2}.
  • Două cicluri de preţ de lungime n sunt distincte, dacă diferă prin cel puţin o modificare procentuală de preţ.
  • Două cicluri de preţ de lungime n ce conţin aceleaşi modificări procentuale, dar în altă ordine, sunt identice.
  • Pentru 28\% din punctaj n \le 20.
  • Pentru 60\% din punctaj n \le 40.
  • Pentru 100\% din punctaj n \le 80.

Exemplu

procente.inprocente.out
2
- 20
1
3
+ 25
4

Explicaţie

  • Există o singură succesiune de 2 modificări procentuale de preţ ce conţine şi o ieftinire cu 20\% care are preţul final egal cu preţul iniţial. Această succesiune este:
    • \[(- \: 20)(+ \: 25)\].
  • Există patru succesiuni distincte de 3 modificări procentuale de preţ ce conţin cel puţin o scumpire cu 25\% care au preţul final egal cu preţul iniţial. Aceste succesiuni sunt:
    • \[(- \: 50)(+ \: 25)(+ \: 60)\]
    • \[(- \: 36)(+ \: 25)(+ \: 25)\]
    • \[(- \: 60)(+ \: 25)(+ \: 100)\]
    • \[(- \: 20)(+ \: 25)(+ \: 0)\]
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?