Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: putin ajutor nu ma descurc!!! : Februarie 09, 2013, 10:33:56
Ștefan, cred că ce vrei tu să faci e cel mai simplu rezolvat cu o expresie regulată.
O dată ce ai stabilit o linie pe care vrei să faci înlocuirea, poți să faci replace pe (ceva ca) "=[\w| ]+;" (unde \w potrivește un cuvânt, similar cu [a-zA-Z]+) din fișierul 2 cu stringul pe care ai făcut match din fișierul 1 (cu aceeași expresie regulată).

Pentru asta, dacă folosești C++ ai nevoie de o bibliotecă suplimentară (Boost de exemplu) sau poți folosi noul header <regex> dacă folosești C++11.
Și, încearcă întâi în ceva ca Python/Javascript ca să poți testa interactiv expresia regulată și să te asiguri că potrivește ce trebuie.

Succes!
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 006 Evaluarea unei expresii : Martie 12, 2008, 20:13:29
Da, acum merge mult mai rapid. Mersi Wef. Applause
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 006 Evaluarea unei expresii : Martie 12, 2008, 17:36:53
Am nevoie de putin ajutor la ultimele doua teste.

Pe evaluator iau TLE la ele. Cand am dat si eu testele alea de la atasamente cu time, a mers in 0.107 la unul si 0.115 la al doilea. Are cineva idee cum sa modific sursa asa incat sa ia 100?

Eu fac evaluarea in alt mod, impartind expresia in 2 subexpresii cand intalnesc operanzi sau paranteze. Am luat 100 cu metoda asta la OJI-ul de anul trecut de la a 10-a cu directoare - fun times. Mi se pare foarte usor de inteles.

O pot optimiza cumva, sau trebuie sa invat evaluarea prin recursivitate indirecta? 
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines