Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: ONI 2011 : Aprilie 22, 2011, 22:16:06
Nu-ti plac cele de pe site?
2  infoarena - concursuri, probleme, evaluator, articole / Articole / Răspuns: Ciurul lui Eratostene : Aprilie 22, 2011, 18:41:47
Mie, pentru codul de mai jos in C, imi da ca 21, 25 si multe altele sunt numere prime. Am verificat de 2 ori, nu observ nimic diferit intre codul meu si cel final din articol (mai putin N-ul, eu m-am dus pana la 2000000000). Multumesc!
Cod:

#include <stdio.h>
#include <stdbool.h>

#define N 100000000/8 + 1

static bool ciur[N];

int main(void) {

    long i, j, nr = 1;

    for(i = 1; ((i * i) << 1) + (i << 1) < N; ++i)
        if(!(ciur[i >> 3] & (1 << (i & 7))))
            for(j = ((i * i) << 1) + (i << 1); (j << 1) + 1 < N;  j += (i << 1) + 1)
                ciur[j >> 3] |= (1 << (j & 7));

    for(i = 1; 2 * i + 1 < N; ++i) if(!(ciur[i >> 3] & (i << (i & 7)))) {
        ++nr;
        printf("%ld\n", 2 * i + 1);
    }
    printf("%ld\n\n", nr);

    return 0;
}
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Medii de programare : Aprilie 22, 2011, 12:06:25
Code::Blocks nu facea asta? Stiu ca de asta il foloseam pe Windows Think
4  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: 2% în anul fiscal 2010 : Aprilie 21, 2011, 20:56:05
Nici tu nu esti obligat sa dai ceva. Daca nu iti place, nu da. Dar unii considera munca suficient de buna incat sa dea acesti bani...
5  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Ajutor algoritm : Aprilie 18, 2011, 16:47:44
Daca am folosi un array 2D in care, pentru fiecare cuvant, retinem de cate ori se repeta fiecare litera din cuvant si dupa aia comparam, s-ar incadra in O(N*logN)?
6  infoarena - concursuri, probleme, evaluator, articole / Informatica / Divizibilitate .campion : Martie 24, 2011, 18:12:50
Incerc sa citesc articolul despre Divizibilitate de pe .campion, insa nu reusesc sa inteleg mare lucru. De exemplu, comentariul de la prima problema spune de Xn, dar nu imi dau seama cine ar trebui sa fie. O cifra sau un numar? Iar concluzia spune "deci numerele sunt de forma 11...11cn". Din cate inteleg eu, numarul 17 ar trebui sa respecte cerinta din enunt, dar nici 17 si nici 18 nu sunt divizibile cu produsul cifrelor lor. Imi scapa mie ceva, sau articolul e chiar atat de ambigu? Am sanse sa gasesc altundeva un PDF despre divizibilitate, mai bine scris (nu ma intereseaza daca e in engleza/romana)? Multumesc!
7  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Martie 20, 2011, 15:56:11
Au fost postate si pe .campion.
8  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Martie 19, 2011, 15:49:39
Uitati aici. Imi cer scuze.
9  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Martie 19, 2011, 15:33:28
Imi cer scuze, am gresit. Dar pe site-ul CEX Iasi s-a postat evaluatorul ce contine si testele.
10  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Martie 19, 2011, 13:57:13
S-au afisat solutiile pe olimpiada.info.
11  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Martie 19, 2011, 12:36:34
Nu sunt obisnuit cu MinGW, proiecte si tot asa si asta m-a costat cel mai mult. Am facut vase (a IX-a) in putin peste o ora. Dar se intamplase nu stiu ce prostie cu MinGW si nu imi afisa corect in fisierul de iesire si am crezut ca am facut-o gresit. Mi-a luat ceva sa imi dau seama ca problema nu era de la mine, si am rescris sursa de 3 ori. Daca nu am gresit ideea si nu a iesit o varza implementarea, sper sa iau maxim pe vase. Dar mi-a luat doua ore problema din cauza ca nu stiam sa folosesc MinGW ca lumea si cand am ajuns la cri, mi-am dat seama ca nu am timp sa o fac si nici nu am incercat prea tare. Sper sa iau ceva pe ea, totusi Sad
12  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: operatii pe biti : Martie 03, 2011, 17:27:35
Pe .campion este un articol cu operatii pe biti si gasesti acolo ce-ti trebuie, plus niste probleme la sfarsit. Merita citit! Este unul si pe IA, dar e posibil sa fie acelasi articol Think
13  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Februarie 19, 2011, 23:02:11
Salut, eu sunt intr-a 9a si pana acum am lucrat probleme doar pe Unix (Mac, Vim + GCC 4.2.1) si as vrea sa stiu daca la OJI avem Ubuntu sau doar Windows. Daca e doar Windows, MinGW-ul de aici e cel ce va fi folosit la OJI? Multumesc!
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 484 Numere 5 : Februarie 13, 2011, 02:12:12
Sursa mea pica la 3 teste. Ma poate ajuta cineva? Multumesc!
Cod:

#include <stdio.h>

#define IN "numere5.in"
#define OUT "numere5.out"
#define N 60000

char v[N + 1];

int main(void) {

    long a, i, n, m;

    for(i = 1; i <= N; ++i) v[i] = 0;

    freopen(IN, "r", stdin);
    freopen(OUT, "w", stdout);

    scanf("%ld", &n);

    m = n * n;
    while(m--) { scanf("%ld", &a); if(a <= N) ++v[a]; }

    for(i = 1; v[i] && i <= n * n; ++i) ;
    printf("%ld ", i);

    for(; !v[i] && i <= n * n; ++i) ;
    printf("%ld", --i);

    return 0;
}
15  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: OJI 2002, a IX-a, Solutii : Ianuarie 02, 2011, 03:28:59
Pai... stai ca ar fi mai multe probleme aici. In primul rand, backtracking la a IX-a? In al doilea rand, nu poate trece dintr-o camera intr-alta decat daca cele doua camere au un perete comun. Opt directii inseamna un colt comun. In al treilea rand, problema-ti cere sa scrii drumul dupa ce afisezi maximul. E ceva ce-mi scapa? Think
16  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: OJI 2002, a IX-a, Solutii : Ianuarie 02, 2011, 00:20:51
Da, am folosit time pe Unix (Mac) si intra, dar ma gandeam la un test maxim, de 100x100 (in problema scrie ca cea mai mare valoare din fisier e 100), si parca n-as sta sa fac unul, desi ar fi o idee buna sa invat sa fac asa ceva. In plus, voiam sa si verific solutia. M-am gandit ca ar putea fi o varianta in care sa nu dea ca lumea, dar cand am incercat un contraexemplu nu m-am lamurit daca da gresit Think
17  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI 2011 : Ianuarie 01, 2011, 20:16:59
Aici scrie ca la Piatra-Neamt.
18  infoarena - concursuri, probleme, evaluator, articole / Informatica / OJI 2002, a IX-a, Solutii : Ianuarie 01, 2011, 17:34:45
Salut, stie cineva unde as putea gasi solutiile oficiale pentru problemele de a IX-a de la OJI 2002? Am gasit pentru prima, poartas pe .campion, insa pentru a doua, mouse, nu am gasit nicaieri. Am cautat si pe olimpiada.info, dar acolo nu sunt decat subiectele si testele, iar testele pentru a doua problema mi se pare ca nu includ si ok-ul.

Daca, totusi, nu se gaseste nicaieri, se poate uita cineva peste sursa de mai jos si sa imi spuna daca ar intra in timpul de 1s? PDF cu problema aici. Multumesc anticipat!
Cod:

#include <stdio.h>

#define N 100 + 1
#define IN "mouse.in"
#define OUT "mouse.out"

int main(void) {

    int cutie[N][N], poz[N][N], m, n, i, j, k,
        hrana = 0, cam = 0, max, sus, jos, stanga, dreapta;

    freopen(IN, "r", stdin);
    freopen(OUT, "w", stdout);

    scanf("%d %d", &m, &n);

    for(i = 1; i <= m; ++i)
        for(j = 1; j <= n; ++j)
            scanf("%d", &cutie[i][j]);

    i = 1;
    j = 1;
    k = 1;
    while(!(i == m && j == n)) {

        hrana += cutie[i][j];
        cutie[i][j] = 0;
        poz[i][j] = k++;

        sus = i > 1 ? cutie[i - 1][j] : 0;
        jos = i < m ? cutie[i + 1][j] : 0;
        stanga = j > 1 ? cutie[i][j - 1] : 0;
        dreapta = j < n ? cutie[i][j + 1] : 0;

        max = sus;
        if(jos > max)
            max = jos;
        if(stanga > max)
            max = stanga;
        if(dreapta > max)
            max = dreapta;

        if(max == sus)
            --i;
        else if(max == jos)
            ++i;
        else if(max == stanga)
            --j;
        else if(max == dreapta)
            ++j;

        ++cam;
    }
    hrana += cutie[i][j];
    cutie[i][j] = 0;
    poz[i][j] = k;
    ++cam;

    printf("%d %d\n", cam, hrana);

    for(i = 1; i <= cam; ++i)
        for(j = 1; j <= m; ++j)
            for(k = 1; k <= n; ++k)
                if(poz[j][k] == i)
                    printf("%d %d\n", j, k);

    return 0;
}
19  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: gInfo : Decembrie 27, 2010, 15:33:50
Vezi daca asta te ajuta Think
20  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Probleme, clasa a IX-a : Decembrie 24, 2010, 21:57:07
Am gasit printre cartile mai vechi si "Informatica pentru gimnaziu", si abia acum imi dau seama cat de bine scrisa e. Mi se pare ca-l foloseam intr-a 5a, dar numai prima parte. Vreau sa termin de rezolvat problemele din ea, iar apoi trec la cele sugerate aici. Multumesc!
21  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Puțin ajutor (eroare) : Decembrie 24, 2010, 21:54:38
ia-ti un compilator mai nou, pentru ca daca iti compileaza cu void main inseamna ca e vechi.
Nu... mi se pare ca da warning, dar de compilat, ar trebui sa compileze fara eroare. Code::Blocks foloseste MinGW, MinGW e un port de GCC, iar ultimul GCC da warning, nu eroare. Si ca o completare, in C main-ul e definit ca int main(void), pentru ca in C pui void ca sa arati ca functia nu ia niciun argument. In C++ nu pui nimic, dar in C, asta inseamna numar nedefinit de argumente.

Citat
Acum o problema, la scanf iti trebuie ca parametru &n, nu n simplu, pentru ca tu il citesti pe n in memorie ( scanf ( "%d", &n ) ), la fel si cu celalte citiri.
Functia lucreaza cu pointeri pentru ca modifica valoarea in interiorul ei, deci are nevoie de o adresa la acea variabila, nu de o copie a valorii ei.

Citat
Si inca ceva, utilizeaza <>, in loc de "" la headere, pentru ca <> reprezinta header care exista deja , iar "" inseamna ca e definit de tine, desi merge pentru cele default.
De fapt, daca il pui intre <>, header-ul e cautat in directorul in care se afla header-ele standard. Daca il pui intre "", e cautat intai in directorul specificat, iar apoi in cel pe care-l stie compilatorul.

Sper ca am tinut bine minte Think
22  infoarena - concursuri, probleme, evaluator, articole / Informatica / Probleme, clasa a IX-a : Decembrie 21, 2010, 11:52:44
Salut, as dori sa ma pregatesc pentru olimpiada de informatica si ma gandeam sa rezolv cat mai multe probleme de pe infoarena si .campion. Imi puteti spune cam ce as putea lucra? De pe .campion am rezolvat 32 de probleme de la grupa mica si voi continua sa lucrez, dar pe infoarena nu exista o repartizare in functie de an de studiu si e destul de descurajant sa dai peste o problema de o stea, dar care se rezolva cu un algoritm invatat intr-a XII-a.
23  infoarena - concursuri, probleme, evaluator, articole / .CAMPION / atelier : Decembrie 11, 2010, 12:04:49
Incerc sa rezolv problema atelier din runda a treia de la .campion (grupa S) si sunt cam sigur ca am nevoie de un algoritm pentru a determina toate multimile din fisier. Daca am dreptate, e OK sa imi spuna cineva ce ar trebui sa caut pentru a invata algoritmul, sau se considera frauda? Multumesc!
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines