•Robytzza
|
|
« Răspunde #25 : Iulie 01, 2007, 16:18:02 » |
|
asa e am declarat un vector a[3] si eu il parcurgam pana la 1500 ms
|
|
|
Memorat
|
|
|
|
•andrici_cezar
|
|
« Răspunde #26 : Iunie 19, 2009, 18:00:10 » |
|
Stiu ca solutia mea nu e eficienta... dar merge bine, da corect pe toate testele care mi le dau si toate de pe forum... Nu cumva e o problema cu testul 1?
|
|
|
Memorat
|
|
|
|
•Florian
|
|
« Răspunde #27 : Iunie 19, 2009, 18:06:38 » |
|
Stiu ca solutia mea nu e eficienta... dar merge bine, da corect pe toate testele care mi le dau si toate de pe forum... Nu cumva e o problema cu testul 1?
Nu. Nu e Merge si pe astea?
|
|
|
Memorat
|
|
|
|
•andrici_cezar
|
|
« Răspunde #28 : Iunie 19, 2009, 18:22:26 » |
|
am mai adaugat cateva breakuri si uitati ce imi da pentru... 10 *****E (**E *()*E *())*E )E ([)](([)])E ((()))[]]E (()))[]E ([([])])E ****()E imi da mie mi se pare ca da bine
|
|
|
Memorat
|
|
|
|
•Abi79
Strain
Karma: 4
Deconectat
Mesaje: 7
|
|
« Răspunde #29 : Iunie 23, 2009, 20:06:22 » |
|
am mai adaugat cateva breakuri si uitati ce imi da pentru...
...
mie mi se pare ca da bine
Da, alea sunt bune. Dar daca ar fi asta: A doua steluta sterge prima paranteza si da bine?
|
|
|
Memorat
|
|
|
|
•mathboy
|
|
« Răspunde #30 : Iunie 24, 2009, 22:22:30 » |
|
Exact.
|
|
|
Memorat
|
|
|
|
•yrar
Strain
Karma: -1
Deconectat
Mesaje: 17
|
|
« Răspunde #31 : Martie 08, 2010, 14:49:03 » |
|
E-uri se pot afla si prin sir sau doar la sfarsit ?
|
|
|
Memorat
|
|
|
|
•Florian
|
|
« Răspunde #32 : Martie 08, 2010, 14:56:23 » |
|
La sfarsit doar.
|
|
|
Memorat
|
|
|
|
•vladtarniceru
|
|
« Răspunde #33 : Martie 19, 2010, 23:10:06 » |
|
mi-a iesit de 100 puncte ideea este urm: retii intr-un vector char parantezele si de fiecare data cand ai '*' stergi ultimul caracter.apoi mai iei 4 variabile in care notezi: -cate ' ( ' ai -cate ' ) ' ai -cate ' [ ' ai -cate ' ] ' ai apoi verifici daca nr_par_(==nr_par_) si nr_par_[==nr_par_] si daca nu ai alte chestii( de exemplu "( ( [ ) ] ) ") totusi ce are testul 1 ca am vazut ca pica multi pe el . e din cauza ca are '*' la inceput?
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
|
« Răspunde #34 : Martie 20, 2010, 10:24:49 » |
|
Am facut problema, dar iau incorect pe primul test. Am incercat toate testele puse de voi si au mers. Care sa fie problema? Merci
|
|
|
Memorat
|
|
|
|
•miculprogramator
|
|
« Răspunde #35 : Martie 20, 2010, 11:08:52 » |
|
Poate ca testul are mai mult de o * sau ceva asemanator. P.S : Ar fi foarte fain daca dupa ce rezolvati o problema sa nu postati rezolvarea completa ... Se strica tot farmecul si poate vor si altii sa gandeasca.
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
|
« Răspunde #36 : Martie 20, 2010, 11:36:24 » |
|
Am incercat si imi da bine ... Alte sugestii ? [LE] Am reusit in sfarsit
|
|
« Ultima modificare: Martie 20, 2010, 16:21:42 de către Simoiu Robert »
|
Memorat
|
|
|
|
•zloteanu.adrian
Strain
Karma: -9
Deconectat
Mesaje: 38
|
|
« Răspunde #37 : Octombrie 03, 2010, 14:52:33 » |
|
Am incercat exemplul,toate testele de pe forum,am mai dat si eu cateva,dar tot nu merge...asta e sursa: #include<fstream> int j,pos,lim2,lim,T,i; char v[50001],v2[50001]; using namespace std; int main() { ifstream q("editor.in"); ofstream w("editor.out"); q>>T; for(i=1;i<=T;i++) {lim=1; q>>v[lim]; while(v[lim]!='E') {if(v[lim]=='*'&&lim>1) lim--; else {if(v[lim]!='*') lim++;} q>>v[lim];} lim2=1; pos=0; lim--; for(j=1;j<=lim;j++) if(v[j]=='('||v[j]=='[') {v2[lim2]=v[j]; lim2++;} else /*{if((v2[lim2-1]=='['&&v[j]==']')||(v2[lim2-1]=='('&&v[j]==')')) v2[lim2-1]='-'; else {j=lim+1; w<<":(\n"; pos=1;}}*/ aici se termina ce am modificat if(pos==0) {for(j=lim2-1;j>=1;j--) if(v2[j]=='('||v2[j]==')'||v2[j]=='['||v2[j]==']') {w<<":(\n"; j=-1;} if(j==0&&(lim2!=1||(v[1]=='['||v[1]=='('||v[1]=='E'))) w<<":)\n"; else if(lim2==1) w<<":(\n";}} return 0;}
P.S:luam 70 de puncte,cu 3 tle-uri,si am pus in comment partea schimbata(aproape sigur acolo e o problema).Fac exact ca in solutia oficiala
|
|
|
Memorat
|
|
|
|
•eudanip
|
|
« Răspunde #38 : Octombrie 03, 2010, 22:13:45 » |
|
Implementeaza si tu mai frumos ca nu cred ca poate intelege cineva ce ai scris acolo. Lasa si tu tab-uri.
|
|
|
Memorat
|
|
|
|
•iulishor
Strain
Karma: 3
Deconectat
Mesaje: 1
|
|
« Răspunde #39 : Martie 17, 2011, 08:20:15 » |
|
Poate posta cineva niste teste ceva mai lungi....
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
|
« Răspunde #40 : Martie 17, 2011, 08:59:57 » |
|
7 )E **********E (((((]]*******[()]E ]]]***[[[***(((***)))***E ((([[[[][[()]]()()]]])))E *((([[[[][[()]]()()]]])))*E (((((((([[[[[[[(())]]]]]]]))))))))***)))E
|
|
|
Memorat
|
|
|
|
•TheNechiz
|
|
« Răspunde #41 : Septembrie 19, 2012, 16:10:14 » |
|
23 E [][][]E **[]()*E )E *****E (**E *()*E *())*E ([)](([)])E ((()))[]]E (()))[]E ([([])])E ****()E )E **********E (((((]]*******[()]E ]]]***[[[***(((***)))***E ((([[[[][[()]]()()]]])))E *((([[[[][[()]]()()]]])))*E (((((((([[[[[[[(())]]]]]]]))))))))***)))E ][)()*E [[**]()E [[]]()()E
:) :) :( :( :) :) :( :) :( :( :( :) :) :( :) :) :) :) :( :) :( :( :)
|
|
« Ultima modificare: Decembrie 16, 2012, 17:59:01 de către Birisan Razvan »
|
Memorat
|
|
|
|
•GaborGabriel
Strain
Karma: 0
Deconectat
Mesaje: 9
|
|
« Răspunde #42 : Decembrie 14, 2012, 21:49:11 » |
|
Un caz care merita testat . Am pierdut 2 ore din cauza lui. PS. Programul meu mergea pe toate testele postate dar pica pe testul asta. 1 [
|
|
|
Memorat
|
|
|
|
•Lizzard
Strain
Karma: -6
Deconectat
Mesaje: 8
|
|
« Răspunde #43 : Noiembrie 09, 2013, 02:16:09 » |
|
Am nevoie de o idee la problema asta. Tot ce s-a pus aici imi merge dar iau doar 10 puncte, restul WA.
|
|
|
Memorat
|
|
|
|
•Mihai22e
Client obisnuit
Karma: 20
Deconectat
Mesaje: 74
|
|
« Răspunde #44 : Noiembrie 09, 2013, 02:39:27 » |
|
Foloseste o stiva in varful careia sa tii tipul ultimei paranteze deschise, iar cand intalnesti o paranteza inchisa verifici daca este de acelasi tip ca cea din varful stivei si o elmini. In cazul in care paranteza din varful stivei nu coincide cu paranteza intalnita, sirul este gresit parantezat. La sfarsit mai ai de verificat daca stiva este goala.
|
|
|
Memorat
|
|
|
|
•TwoOfDiamonds
Strain
Karma: 1
Deconectat
Mesaje: 2
|
|
« Răspunde #45 : Noiembrie 17, 2013, 09:07:18 » |
|
Imi reusesc toate testele pe care le-am vazut in celalalte comentarii si totusi iau doar 10 puncte (doar ultimul test). Restul sunt incorecte. Poate cineva sa imi dea un test mai complex? EDIT: am rezolvat. nu tineam cont ca pot fi mai multe * la rand si verificam aiurea
|
|
« Ultima modificare: Noiembrie 17, 2013, 10:06:17 de către Daniel Alexandru Radu »
|
Memorat
|
|
|
|
•informatician28
Strain
Karma: 6
Deconectat
Mesaje: 27
|
|
« Răspunde #46 : Martie 24, 2014, 21:12:49 » |
|
Salut!
Toate testele postate pe forumul problemei imi dau corect. Iau totusi numai 20p.
Ma poate ajuta cineva?
|
|
|
Memorat
|
|
|
|
•cipriancx
Strain
Karma: -1
Deconectat
Mesaje: 13
|
|
« Răspunde #47 : Noiembrie 07, 2014, 13:01:15 » |
|
Are cineva idee de ce aceasta rezolvare primeste sigsev pe toate testele? #include <stdio.h> #include <stdlib.h> char sir[600010],c; int index,rotdesc,patdesc,erori,t; int main() { freopen("editor.in","r",stdin); freopen("editor.out","w",stdout); scanf("%d",&t); while(t) { scanf(" %c",&c); while(c!= 'E') { if(c=='*'){ if(index >0) index--; } else {index++; sir[index]=c; } scanf(" %c",&c); } int i=1; while(!erori && i<=index && i<600000) { if(sir[i]=='(') rotdesc++; if(sir[i]==')') rotdesc--; if(sir[i]=='[') patdesc++; if(sir[i]==']') patdesc--; if(rotdesc < 0 || patdesc < 0) erori=1; i++; } if(!rotdesc && !patdesc) printf(":)\n"); else printf(":(\n"); t--; index=0; rotdesc=0; patdesc=0; erori=0; } return 0; }
|
|
|
Memorat
|
|
|
|
•vladmatei0
Strain
Karma: 0
Deconectat
Mesaje: 1
|
|
« Răspunde #48 : Aprilie 01, 2016, 21:19:02 » |
|
|
|
|
Memorat
|
|
|
|
•Googal
Strain
Karma: 1
Deconectat
Mesaje: 3
|
|
« Răspunde #49 : Mai 08, 2016, 15:35:17 » |
|
O mica remarca:testele nu acopera cazul in care este un numar egal de paranteze ,dar toate sunt orientate in sens opus.De exemplu : la ]]]][[[[ o sursa care ia 100 de puncte afiseaza " " in loc de " "
|
|
|
Memorat
|
|
|
|
|