indiciu

Time limit: 0.1s
Memory limit: 8MB
Input: indiciu.in
Output: indiciu.out

În noaptea dinaintea marii bătălii, pe 10 ianuarie 1475, un spion turc a pătruns în tabăra moldovenilor cu scopul de a afla planurile bătăliei. Spionul a reuşit să ajungă până în camera de taină a lui Ştefan, unde a găsit un document care conţinea un indiciu despre modul în care poate fi determinat codul cu care se deschide cufărul în care erau ascunse planurile bătăliei. Indiciul din documentul găsit arăta astfel:
expresie=valoare

Expresia este o succesiune formată din unul sau mai mulți operanzi; între oricare doi operanzi consecutivi există un singur operator. Operanzii pot fi de două tipuri:

  • un șir de caractere;
  • codul, notat cu #c.

În expresie apar doar doi operatori, a căror semnificaţie spionul o ştia deja:

Operator Semnificație Exemplu
+ concatenează două șiruri con+tact=contact
* inserează al doilea şir după fiecare literă a primului şir Ctrm*a=Catarama

Operaţiile din expresie se execută în ordine, de la stânga la dreapta.

Valoarea este un şir de caractere care reprezintă rezultatul evaluării expresiei.

Cerință

Scrieţi un program care, cunoscând indiciul, determină codul.

Date de intrare

Fişierul de intrare indiciu.in conţine pe prima linie indiciul, în forma descrisă în enunţ.

Date de ieșire

Fişierul de ieşire indiciu.out va conţine o singură linie pe care va fi scris codul determinat.

Restricții și precizări

  • Şirurile de caractere menţionate în enunţ (operanzi sau valoare) conţin caractere ASCII cu coduri 32\ge 32 și 127\le 127, diferite de caracterele # (diez), + (plus), * (asterisc) sau = (egal);
  • Lungimea operanzilor este cel mult 255255 de caractere;
  • Lungimea valorii este cel mult 20 00020 \ 000 de caractere;
  • Expresia conţine cel mult 10 00010 \ 000 de operatori;
  • #c apare cel puţin o dată ca operand în expresie;
  • Datele de intrare sunt corecte;
  • Pentru 2020 de puncte, în expresie se utilizează numai operatorul +;
  • Pentru 2424 de puncte, în expresie se utilizează numai operatorul *;
  • Pentru 3232 de puncte, în expresie codul apare o singură dată.

Exemplul 1

indiciu.in

con+#c+are=contactare

indiciu.out

tact

Exemplul 2

indiciu.in

NTS*#c+ MI+#c+U=NATASA MIAU

indiciu.out

A

Problem info

ID: 528

Editor: AlexVasiluta

Author:

Source: Urmașii lui Moisil 2023 X: Problema 1

Urmașii lui Moisil 2023 X

Log in or sign up to be able to send submissions!