Afişează mesaje
Pagini: 1 ... 5 6 [7] 8 9 ... 12
151  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Jmenoasa : Mai 02, 2009, 09:32:23
Da - va avea forma unui dreptunghi de elemente adiacente.
152  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Propozitie2 : Mai 02, 2009, 09:19:49
1) Da.
2) Da.
3) Da.
153  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Subsir100 : Mai 02, 2009, 09:19:02
Sistemul de evaluare folosit pe infoarena ruleaza pe linux si foloseste gcc 4.2. Cele 2 compilatoare au anumite diferente.

PS. Ai grija ca in momentul in care submitezi fisirele de intrare si iesire pe care le deschizi sa fie scrise cu litere mici. Incearca sa rezolvi o problema din arhiva.
154  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Propozitie2 : Mai 02, 2009, 09:15:45
Da.
155  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Subsir100 : Mai 02, 2009, 09:13:28
Nu se pot schimba numele fisierelor. Lucreaza in Borland cu nume de fisiere mai mici si modifica in momentul in care trimiti pe infoarena.
156  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: help ... : Aprilie 01, 2009, 20:14:46
Nu cred ca ai cum sa definesti operatorul ++ cum vrei tu.
Nu poti sa supraincarci operatorul ++ pentru ca tu faci operatia pe un pointer, iar din cate stiu pointerii nu sunt tipuri de date.
Daca faci cum a spus Andrei dezavantajul este ca nu vei mai putea folosi operatorul ++ decat cu pointeri, si nu il vei mai putea folosi pentru intregi, spre exemplu.
Cod:
#define ++it it = it -> x
int a = 0;
++a; // da eroare, se transforma in a = a -> x si a nu e pointer

Pentru a permite o astfel de scrieri, in structurile de date din STL se folosesc iteratorii, dar acestia sunt niste clase mai speciale definite in interiorul clasei parinte.
157  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 486 Reactivi : Martie 24, 2009, 21:17:57
salut, imi puteti explik shi mie pls k pt un prost dc sortarea asta:
Cod:
void ordonare()  
{    for (int i=100; i>=-100; i--) 
     for (int j=1; j<=n; j++) 
         if (mi[j]==i) 
         {  int aux1=mi[j], aux2=ma[j]; 
        for (int k=j-1; k>=1; k--) 
        {    mi[k+1]=mi[k]; 
             ma[k+1]=ma[k]; 
        } 
        mi[1]=aux1; 
        ma[1]=aux2; 
         } 

este mai ineficienta k bubble? .. ms

Sortarea este corecta, si are complexitatea O(n2), deci in cazul problemei de fata difera fata de bubble-sort doar printr-o constanta.
O rezolvare a problemei folosind acest algoritm nu va intra in timp, cum nu intra nici folosind algoritmul bubble-sort. Trebuie folosita o sortare in O(n*log(n)) sau O(n).
158  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 032 Flux maxim : Martie 07, 2009, 13:10:15
am facut algoritmul lui ford fulkerson si iau incorect pe ultimele 4 teste. ( http://infoarena.ro/job_detail/269420 ). din cate am citit in indicatiile de rezolvare, se zica ca algoritmul scoate 100 daca i se face o modificare (pe care sincer n-am inteles-o), dar din cate imi dau seama optimizeaza timpul. probleme cu timpul cred ca n-am, deci de unde ar putea fi problema?
Am trimis sursa ta modificand memseturile din BF si am luat 70 cu TLE pe ultimele 3 teste. Vezi ca am pus un post in topicul de la Ciurul lui Eratostene despre cum se foloseste memsetul. Eu am pus memset(X, 0, sizeof(X)) in loc de memset(X, 0, N).
159  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 010 Ciurul lui Eratosthenes : Martie 07, 2009, 12:24:34
Am observat ca ultimele mesaje contin informatii gresite despre alocarea dinamica a memorie si modul in care se foloseste functia memset.

Avand un pointer *p, pentru a aloca un vector de 1000 de elemente se procedeaza astfel:
Cod:
int *p;
p = (int*) malloc( 1000 * sizeof(int) );
sau:
Cod:
int *p;
p = new int[1000];
Acum p contine adresa unui bloc rezervat de 1000 de elemente. Toate elentele p[0], p[1] pana la p[999] contin valori reziduale. Ele nu sunt initializate in nici un fel in nici unul din apelurile de mai sus. Putem spune ca au valori aleatoare. Se poate intampla ca toate aceste valori sa fie 0, dar asta e din pura intamplare. Diferenta intre malloc si new este ca ultimul apeleaza constructorul clasei pentru care se face instantierea, dar nu cred ca se pot supraincarca constructorii tipurilor predefinite.

Pentru a le initializa cu 0 folosind functia memset procedam in felul urmator:
Cod:
memset(p, 0, 1000 * sizeof(int));
Asta inseamna pentru compilatorul gcc de azi sa puna valoarea 0 pe 4000 de bytes pornind de la adresa pointata de p.

sizeof( variabila ) returneaza dimensiunea in bytes a tipului variabila asadar sizeof( p ) va returna pe gcc fie valoarea 4, fie valoarea 8, depinde de configuratia fiecaruia (iar pe borland valoarea 2), si este dimensiunea implicita a oricarui pointer (nu depinde de tipul obiectului pointat ci doar de compilator).
sizeof( int ) returneaza valoarea 4 in gcc si 2 in borland, sizeof( long ) returneaza valoarea 4 in gcc si 4 in borland.
Daca p ar fi declarat astfel:
Cod:
int p[1000];
atunci sizeof(p) ar returna valoarea 4000 pe gcc si 2000 pe borland (face diferenta).
Dar aveti grija la urmatorul caz:
Cod:
void f(p[]) {
    // sizeof( p ) aici este valoarea unui pointer adica 2/4/8
}

int main() {
    int p[1000];
    f(p);
}

memset( pointer, val_byte, dimensiune ) seteaza valoarea a dimensiune bytes pornind de la pointer cu valoarea val_byte.
De exemplu:
memset( p, 0, sizeof(p) ) ar seta pe 0 numai pe p[0] (in conditiile in care dimensiunea pointerului e 4, daca e 8 atunci ar seta si p[1])
memset(p, 0x3f, sizeof(int)) sau memset( p, 63, sizeof(int) ) ar seta p[0] cu valoarea cu 1061109567 sau 0x3f3f3f3f pentru ca sunt initializati 4 bytes cu valoarea 0x3f.
160  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: zgarcenia de a folosi nume de variabile mai lungi de o litera : Februarie 15, 2009, 10:01:41
"probleme de concursuri nu au un rol practic " ?
atunci concursurile sunt inutile sa inteleg?

Problemele de concursuri au rol educational, ele testand asimilarea unor concepte si a unor algoritmi. In practica nu se intalnesc probleme care sa poata fi rezolvate in 2 ore si implementate in 150 de linii, insa cineva care stie sa rezolve probleme de concursuri, probabil va sti cum sa abordeze si aceste probleme.
161  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Kino : Februarie 15, 2009, 09:46:05
numerele de pe poziţia i din fiecare şir sunt cuprinse 1 şi Ki

numerele inseamna ca pot fi si Ki inclusiv, nu?
DA
162  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 404 Lacuri : Februarie 02, 2009, 14:39:57
Am si eu o intrebare...
Aceasta problema are evaluator?.....sau doar compara cele doua fisiere?
Imi da drum gresit la testul 5 (in rest totul merge perfect), si m-am uitat in testul 5 de la oni....si programul meu scoate un alt drum.....dar un drum corect!!!!!!
http://infoarena.ro/job_detail/249897
Nu iti afiseaza un drum corect, ci poate numai o bucata din el, primul nod afisat nu este (1, 1).

am shi eu aceiasi problema:  la testul 2 de ex imi da alt drum decat scrie in raspuns, dar unul corect shi mi se da WA cu Drum gresit!
nu shtiti kre ar fi solutia pt rezolvarea problemei?
Pe testul 2 jumate din drumul afisat de tine este (0, 0).
163  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: zgarcenia de a folosi nume de variabile mai lungi de o litera : Ianuarie 27, 2009, 12:07:10
ieri am avut o revelatie !!!!
de ce merge tot prost ?
din cauza matematicii evident dar acuma incep exact sa inteleg.

am realizat ca zgarcenia de a folosi nume de variabile mai lungi de o litera de trage numai din matematica atunci cand orice variabila matematica are un nume de o litera x,y,w,z.

la fel si la informatica "i" e contorul . "a" e matricea , "n" e lungimea....
desi ulterior va avea acces la environmenturi  cu autocomplete (de ala care iti scrie el singur) elevul va fi tentat sa foloseasca nume de variabila de o litera.

opriti matematica sa distruga informatica

Dar ce e informatica fara matematica? Cod si nici macar un cod pe care sa il poti intelege. Vei intelege intructiunile dar nu vei intelege ce fac, sau de ce fac. Informatica s-a nascut din matematica.
Continutul de pe infoarena se aproprie mai mult de informatica teoretica decat de informatica aplicata iar cei care lucreaza in acest domeniu sunt de cele mai multe ori considerati matematicieni decat informaticieni.
Multi dintre utilizatorii infoarena la inceputuri au cochetat cu matematica si mai apoi s-au reorientat spre informatica.
Programele pe care le scriem pentru probleme de concursuri nu au un rol practic, ele transmit o idee de rezolvare. Pentru ca sunt numai niste idei, ele nu au un corespondent, asa ca daca ai o matrice, nu stiu cum ai putea sa o numesti, asa ca ii dai ca nume o litera. De asemeni scrierea programului este doar ultima etapa din rezolvarea problemei, problema rezolvandu-se in mare parte pe hartie.
"Elevul" pus sa faca ceva practic va realiza foarte repede ca nu poate sa-si denumeasca variabilele cu litere pentru ca a doua zi nu va mai intelege ce a scris in prima zi, asa ca isi va redenumi variabilele.
164  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Problema saptamanii - Monede : Ianuarie 26, 2009, 23:29:06
Read This!
sa se demonstreze ca toata suprafata mesei poate fi acoperita de 4n monede de raza unu care se pot suprapune.
Din chestia asta rezulta ca poti suprapune un numar infinit de monezi.

Cred ca se cere sa se demonstreze ca se poate acoperi suprafata totala a mesei cu cel mult 4n monede pe cazul general (oricare ar fi lungimea si latimea mesei).

Poate nu ai inteles bine problema. Atunci cand alaturi intr-un plan 4 monede iti ramane in mijloc un spatiu pe care trebuie sa il acoperi cu alte monede asezate deasupra.
Cod:
OO
OO
Pe cazul asta cred ca e de ajuns o moneda, dar nu stiu ce se intampla daca dimensiunile cresc.  Smile

165  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: putina grafica : Ianuarie 13, 2009, 21:10:44
Cod:
   int gdriver = DETECT, gmode;
   initgraph(&gdriver, &gmode, [path]);
Din cate imi amintesc pentru Borland C++ 3.1 trebuie sa incluzi portiunea de sus inaintea folosirii intructiunii bar, path este un string reprezinta calea pana la directorul BGI din BorlandC, de exemplu "C:\BorlandC\BGI".
166  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 543 Dk : Ianuarie 07, 2009, 23:47:27
daca folosesc ciurul Cool ...as lua ceva puncte la problema asta  Cry ? si nu inteleg dc imi da Killed by signal  Annoyed
In C/C++ elementele unui tablou unidimensional de N elemente sunt indexate de la 0 la N-1. Sa zicem ca tabloul este numit T, daca este accesat T[N], in linux, este returnat semnalul 11.
167  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Algoritmiada 2009, Runda 1 : Decembrie 14, 2008, 12:00:53
Daca trimitem mai multe solutii pentru o problema, conteaza numai punctajul de la ultima?
In caz ca o solutie primeste 100 puncte, se mai iau in considerare urmatoarele solutii trimise pentru aceeasi problema?

Multumesc

Se ia in considerare numai ultima submisie. Asadar daca ai luat 100 pe o sursa si trimiti apoi alta sursa care ia mai putin, sa zicem 60, punctajul tau final la respectiva problema va fi de 60 de puncte.
168  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Sprim : Decembrie 14, 2008, 11:50:36
Stiu ca e prea tarziu, dar 1 si 1 sunt considerate prime intre ele?
1 si 1 se considera prime intre ele.
169  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Densitate : Decembrie 14, 2008, 09:58:17
cate numere prime intre a si b

daca a si b sunt primes se numara si ele?
DA
170  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Densitate : Decembrie 14, 2008, 09:42:20
mie imi salveaza drept densitat.in nu densitate.in, este corect?
Asta pentru ca folosesti Borland. Compilatoarele moderne nu intampina aceasta problema.
Pe inforarena se foloseste gcc 4 si fpc 2 care recunosc corect numele fisierelor.
Poti sa testezi local cu ce nume de fisier vrei si atunci cand trimiti pe infoarena sa ai in sursa numele fisierelor densitate.in si o sa mearga.
171  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Propozitie : Decembrie 14, 2008, 09:14:38
NU.

Vezi explicatia din exemplu.
172  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: This is so cool : Decembrie 06, 2008, 20:34:02
Tocmai am terminat sa ma uit la Cowboy Bebop, serialul si filmul. Acestea insa nu este neaparat recunoscute pentru poveste sau pentru actiune ci pentru soundtrack, si unul foarte reusit. La ce ai pus tu, as mai adauga si http://www.youtube.com/watch?v=z8eMZpOykw8 Nu e extraordinar la prima auditie, dar se potriveste numai bine in episodul in care apare.
173  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 344 Drept : Decembrie 01, 2008, 23:34:35
Fixezi x1, x2 proiectiile pe axa OX ale laturilor paralele cu OY ale dreptunghiului. Pentru ele tii sortate valorile coordonatelor y ale punctelor cu x intre x1 si x2. Dreptunghiurile cu k puncte se pot determina printr-o simpla iteratie.
Asta fac si eu, dar pentru fiecare pereche x1 si x2 trebuie facuta acea sortare daca am inteles bine. Dar, de aici rezulta o complexitate de O(N^2 (pt ca iau fiecare pereche) * NlogN(din sortare)) = O(N^3logN)
Ideea e sa o rezolvi fara sa sortezi in O(NlogN). Cand treci de la (xi, xj) la (xi, xj+1) trebuie sa inserezi intr-un sir sortat valorile coordonatelor y pentru care x=xj+1. Daca ai si aceste ultime valori sortate, atunci interclasarea lor se face in O(N).
174  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 344 Drept : Decembrie 01, 2008, 23:19:14
Un hint pt N^3 pls.. Smile
Fixezi x1, x2 proiectiile pe axa OX ale laturilor paralele cu OY ale dreptunghiului. Pentru ele tii sortate valorile coordonatelor y ale punctelor cu x intre x1 si x2. Dreptunghiurile cu k puncte se pot determina printr-o simpla iteratie.
Eu am implementat problema cu arbori echilibrati, complexitate O(N2logN + N3), dar merge prea incet. Optimizarea e cheia problemei.
175  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Algoritmiada in cautare de sigla : Decembrie 01, 2008, 11:52:22
Dragut ca ti-ai oferit ajutorul, numai ca numele concursului pentru care cautam sigla este Algoritmiada. PreOni-ul infoarena este de acum de partea trecutului. Asteptam cat mai multe propuneri pentru sigla concursului, preferabil insa care sa mentioneze numele concursului "Algoritmiada", sau care sa sugereze implicit sau explicit o competitie de informatica si programare.
Pagini: 1 ... 5 6 [7] 8 9 ... 12
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines