Afişează mesaje
|
Pagini: [1]
|
2
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 198 Custi
|
: Februarie 26, 2013, 18:59:51
|
Ok... Ma chinui de cateva ore si nu reusesc sa-mi dau seama ce e in neregula cu sursa mea , pe primele 4 teste obtine punctaj maxim dar pe urmatoarele imi da o eroare de care nu am mai auzit. Aici is rezultatele testelor: 1 12ms 1972kb OK 10 2 4ms 348kb OK 10 3 4ms 468kb OK 10 4 4ms 644kb OK 10 5 4ms 248kb Killed by signal 6(SIGABRT). 0 6 4ms 248kb Killed by signal 6(SIGABRT). 0 7 4ms 248kb Killed by signal 6(SIGABRT). 0 8 4ms 252kb Killed by signal 6(SIGABRT). 0 9 4ms 248kb Killed by signal 6(SIGABRT). 0 10 4ms 248kb Killed by signal 6(SIGABRT). 0 Punctaj total 40
Din cate stiu nu pot sa pun sursa pe forum deci cine e dispus sa ma ajute va rog sa imi da-ti un pm.Multumesc.
|
|
|
3
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 492 Sudest
|
: Februarie 05, 2013, 22:51:12
|
Ma chinui de ceva timp si nu inteleg de ce aceasta sursa imi da Memory limit exceeded pe testele 2,3,4. Am calculat memoria toatala folosita si imi da undeva pe la aprox 110kb ( am luat in considerare si fisierele ). Singura functie de care nu am tinut cont prea mult ar fi cea recursiva de afisare a coordonatelor dar din cate m-am uitat eu nu ar trebui sa ajunga la un numar atat de mare de copii incat sa depaseasca 640kb. De asemenea pe primul test imi zice ca folosesc 260kb memorie care iarasi nu prea inteleg de unde vine. #include<stdio.h> int n,m[102][102],k,v[205]; int cpy[102][102]; FILE *g=fopen("sudest.out","w"); struct coord { unsigned char x,y; } stack[205],omg[102][102]; void PrintStupidCoords(int a,int b) { if(!(a==1 && b==1)) PrintStupidCoords(omg[a][b].x,omg[a][b].y); fprintf(g,"%d %d\n",a,b); } void RobysDinamics() { int crt=0,ssize=1,vcrt=1,aux; stack[crt].x=stack[crt].y=1; m[1][1]=cpy[1][1]; while((k-vcrt)>-1) { aux=ssize; for(int i=crt;i<aux;i++) { if( stack[i].x+v[vcrt]<=n && (m[stack[i].x][stack[i].y]+cpy[stack[i].x+v[vcrt]][stack[i].y])>=m[stack[i].x+v[vcrt]][stack[i].y]) { m[stack[i].x+v[vcrt]][stack[i].y]=m[stack[i].x][stack[i].y]+cpy[stack[i].x+v[vcrt]][stack[i].y]; stack[ssize].x=stack[i].x+v[vcrt]; stack[ssize].y=stack[i].y; omg[stack[i].x+v[vcrt]][stack[i].y].x=stack[i].x; omg[stack[i].x+v[vcrt]][stack[i].y].y=stack[i].y; ssize++; } if( stack[i].y+v[vcrt]<=n && (m[stack[i].x][stack[i].y]+cpy[stack[i].x][stack[i].y+v[vcrt]])>=m[stack[i].x][stack[i].y+v[vcrt]]) { m[stack[i].x][stack[i].y+v[vcrt]]=cpy[stack[i].x][stack[i].y+v[vcrt]]+m[stack[i].x][stack[i].y]; stack[ssize].x=stack[i].x; stack[ssize].y=stack[i].y+v[vcrt]; omg[stack[i].x][stack[i].y+v[vcrt]].x=stack[i].x; omg[stack[i].x][stack[i].y+v[vcrt]].y=stack[i].y; ssize++; } } crt+=aux-crt;; vcrt++; } } int main() { FILE *f=fopen("sudest.in","r"); fscanf(f,"%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) fscanf(f,"%d",&cpy[i][j]); fscanf(f,"%d",&k); for(int i=1;i<=n;i++) fscanf(f,"%d",&v[i]); RobysDinamics(); fprintf(g,"%d\n",m[n][n]); PrintStupidCoords(n,n); }
|
|
|
13
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 025 Heapuri
|
: Iunie 16, 2012, 00:01:31
|
da numai ca din pacate acu imi greseste testul 5 si 6 int s,d,fk; do { fk=loc; s=fk*2;d=fk*2+1; if(s<=el && v[s]<v[fk]) fk=s; if(d<=el && v[d]<v[fk]) fk=d; if(fk!=loc) { swap(fk,loc); } }while(fk!=loc);
asta am facut desi nus sigur cat e de bine problema e ca nu inteleg de ce dar pur si simplu nu reusesc sa inteleg la ce miar tb sa am 3 vectori si cum sai folosesc (desi am facut multe probleme cu o gramada de vectori nush cum da mno...)
|
|
|
16
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 025 Heapuri
|
: Iunie 15, 2012, 22:24:26
|
Mersi mult, imi da 7 teste corecte dar la ultimele 3 imi da TLE cum asi putea sa reduc un pic timpul de rulare la alea 3? ma gandeam de reusesc cumva sa elimin forul ala pentru poziti ( is doar in cls 9-a deci nu prea realizez dak ala e chiar problema de baza in timp dar asa cred) P.S. urasc faptul ca nu observ chestii cum ai observat tu kinda the reason i lost the national loot this year:(
|
|
|
17
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 025 Heapuri
|
: Iunie 15, 2012, 20:22:34
|
De curiozitate nu ar trebui programul sa ruleze folosind numai 2 vectori? un vector Heap in care sa retii Heapul si un vector poz in care sa retii pozitile fiecarui element astfel initial punem poz[el(el=nr de elemente)]=el; iar cand schimbam pur si simplu regula paharelor astfel vom obtine un vector de genul v=(4,5,6,3,2) (am dat niste valori complet random) 1 2 3 4 5 asta ne spune ca elementul al 4-lea intrat in vector se afla pe pozitia 1 el intrat la 3-lea se afla pe pozitia 4 and so on Nu sunt sigur de intra in timp tinand cont ca pentru fiecare stergere vom avea nevoie de un for pentru a gasi elementul respectiv dar imi puteti zice de macar o sursa de genul da reultatele corecte? si daca da unde e greseala in sursa: http://infoarena.ro/job_detail/758521
|
|
|
19
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Nr. de 0 a unui produs
|
: Noiembrie 29, 2011, 22:11:38
|
Se dau n numere naturale.Sa se afle de cate ori apare cifra 0 in produs, fara a calcula produsul. Ex: n=10 2 5 4 63 6 10 5 24 2 43 Se va afisa : 4 Ma chinui la problema asta de o saptamana si nu am nici o idee daca sar fi cerut numai 0 de la sfarsit ar fi fost simplu dar se cer si cele din interiorul numarului , mior venit cateva ideei dar din pacate nu merg pentru toate sirurile.
|
|
|
|