infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Bogdan-Cristian Tataroiu din August 11, 2006, 19:09:44



Titlul: 265 Sah
Scris de: Bogdan-Cristian Tataroiu din August 11, 2006, 19:09:44
Aici puteţi discuta despre problema Sah (http://infoarena.ro/problema/sah).


Titlul: Raspuns: 265 Sah
Scris de: David si Goliat din August 11, 2006, 19:11:34
 Eu tot ce fac este o afisare sub forma for{for1; for2;}
 ce poate fi mai rapid decat afisarea?


Titlul: Raspuns: 265 Sah
Scris de: Marius Stroe din August 11, 2006, 19:17:48
Din cate am vazut folosesti C++. Incearca printf() din C!  :)


Titlul: Raspuns: 265 Sah
Scris de: David si Goliat din August 11, 2006, 21:17:39
Nu stiu C


Titlul: Re: 265 Sah
Scris de: Sima Mihai Cotizo -vechi din August 11, 2006, 21:30:28
cum adica... stii c++ si nu stii c????  :eyebrow:
a, sau lucrezi in pascal... vezi ca se poate sa fie de la citire, sa nu fie enter dupa numar si tu sa citesti cu readln (incearca sa comentezi for-urile si sa vezi daca iei tot tle... asta presupun ca-ti da)


Titlul: Raspuns: 265 Sah
Scris de: David si Goliat din August 11, 2006, 22:25:02
Anu asta m-am apucat de info si nu stiu decat C++;
De fapt nici nu stiu care e diferenta dintre C si C++


Titlul: Re: 265 Sah
Scris de: Sima Mihai Cotizo -vechi din August 12, 2006, 09:10:11
pai... e acelasi lucru. ai putea cauta pe net definitia de la "printf" (google... eternul google   :thumbup: ).


Titlul: Raspuns: 265 Sah
Scris de: Tudorica Constantin Alexandru din August 16, 2006, 19:08:37
Tot nu pricep de ce nu imi iese problema, tot ce fac e sa afisez si iau 90 de puncte. A facut-o cineva si ma poate ajuta?


Titlul: Raspuns: 265 Sah
Scris de: Savin Tiberiu din August 16, 2006, 20:25:49
da eu am facut-o. zi cum faci


Titlul: Raspuns: 265 Sah
Scris de: Cosmin Negruseri din August 16, 2006, 20:55:45
S-ar putea sa bushesti cazul n = 2.


Titlul: Raspuns: 265 Sah
Scris de: Paul-Dan Baltescu din Septembrie 30, 2006, 13:11:20
In problema, nu mai apar restrictiile:

Citat
  N  este par
  Fiecare casuta face parte dintr-o singura regiune.

care au aparut in timpul concursului.


Titlul: Raspuns: 265 Sah
Scris de: ditzone din Septembrie 30, 2006, 17:51:09
S-a rezolvat... mersi ca ai atras atentia...


Titlul: Răspuns: 265 Sah
Scris de: Fodor Gabor din Martie 07, 2007, 10:52:07
Am facut-o in Pascal si primesc TLE pe 9,10  :? Afisare cu for-uri, am incercat cu matrice si cu afisare directa.. tot 80. Nu-i cam strans limita pt bietul Pascal?  :sad:


Titlul: Răspuns: 265 Sah
Scris de: Cezar Mocan din Martie 28, 2007, 15:32:01
Totusi, a luat cineva 100 in Pascal??  ???


Titlul: Răspuns: 265 Sah
Scris de: Gogu Marian din Martie 28, 2007, 19:35:27
http://infoarena.ro/job_detail/42076 (http://infoarena.ro/job_detail/42076)

Se poate dar cam scarbos un pic. Ar trebui marita limita la 0.4 secunde, sa mearga si o afisare normala in pascal.


Titlul: Răspuns: 265 Sah
Scris de: alex ionescu din Noiembrie 07, 2007, 19:39:01
CAre ma poate ajuta si pe mine, spunandu-mi cum pot face sa nu mai iau TLE la ultimele 2 teste? plssss.....


Titlul: Răspuns: 265 Sah
Scris de: Florin Pogocsan din Noiembrie 07, 2007, 20:02:56
Pai ai putea sa inveti C++  , asa inveti si ceva nou si o sa iti si intre in timp problema mult mai usor :shock:


Titlul: Răspuns: 265 Sah
Scris de: Andrei Grigorean din Noiembrie 07, 2007, 22:35:16
Am schimbat limita la 0.4 secunde si am reevaluat.


Titlul: Răspuns: 265 Sah
Scris de: Ionescu Robert Marius din Februarie 06, 2008, 14:36:36
pentru N=4 raspunsul poate fi si acesta:
1 1 1 1
1 1 1 1
2 3 3 3
4 4 4 4
??


Titlul: Răspuns: 265 Sah
Scris de: Gabriel Bitis din Februarie 06, 2008, 14:44:36
pentru N=4 raspunsul poate fi si acesta:
1 1 1 1
1 1 1 1
2 3 3 3
4 4 4 4
??

Raspunsul nu e bun.
Citat
El cauta o modalitate de a imparti tabla de sah in cat mai multe regiuni dreptunghiulare (cu laturile paralele cu axele de coordonate) disjuncte, astfel incat toate regiunile sa aibe arii diferite, iar intr-o regiune numarul casutelor albe sa fie egal cu numarul casutelor negre.
Nu indeplineste conditia cu bold.


Titlul: Răspuns: 265 Sah
Scris de: Costescu Ionut din Martie 28, 2012, 11:07:19
Nu sunt prea sigur... in cazul n=4,
Raspunsul nu ar putea fi si:
1 1 1 1
1 1 1 1
1 1 1 1
2 2 2 2
?

Avand in vedere conditiile... pare corect.


Titlul: Răspuns: 265 Sah
Scris de: Gabriel Bitis din Martie 28, 2012, 12:24:41
Citat
El cauta o modalitate de a imparti tabla de sah in cat mai multe regiuni dreptunghiulare
Nu indeplineste o conditie de baza : numarul de regiuni sa fie maxim, tu ai 2 acolo dar pot fi 3


Titlul: Răspuns: 265 Sah
Scris de: Costescu Ionut din Martie 28, 2012, 16:22:09
Doamne, ce neatent pot fi...

Multumesc mult.


Titlul: Răspuns: 265 Sah
Scris de: Radu-Andrei Szasz din Aprilie 09, 2012, 18:39:19
Pentru n = 6 e corecta(optima) configuratia urmatoare:

1 3 3 3 4 4
1 3 3 3 4 4
2 3 3 3 4 4
2 3 3 3 4 4
2 5 5 5 5 5
2 5 5 5 5 5
?

Se pot obtine mai mult de 5 regiuni?


Titlul: Răspuns: 265 Sah
Scris de: Gabriel Bitis din Aprilie 10, 2012, 08:08:10
E corect raspunsul, dar pare ca te'ai complicat putin cu impartirea (mie mi se pare dificil sa generezi o matrice care sa indeplineasca toate cerintele, in modul in care ai facut'o tu). Vezi daca nu poti sa le generezi cumva pe randuri (sus->jos, stanga->dreapta)


Titlul: Răspuns: 265 Sah
Scris de: Petenchea Alexandru din Septembrie 22, 2012, 14:40:27
Advice : Daca vi se intampla sa luati 90 cu TLE incercati sa parsati afisarea  :)


Titlul: Răspuns: 265 Sah
Scris de: Guianu Leon din Septembrie 16, 2013, 21:59:38
Ce inseamna parsarea afisarii? Sa transformi matricea in matrice de char si sa afisezi fiecare linie ca un string?


Titlul: Răspuns: 265 Sah
Scris de: Alexandru Valeanu din Septembrie 16, 2013, 22:50:24
Iti salvezi intr-un string tot ce trebuie sa afisezi cu tot cu spatii, endl-uri, numere, tot ce trebuie sa afisezi si la final afisezi acel string. Toate int-uri, normal, le transformi in siruri de caractere.


Titlul: Răspuns: 265 Sah
Scris de: Guianu Leon din Septembrie 17, 2013, 20:30:50
Iti salvezi intr-un string tot ce trebuie sa afisezi cu tot cu spatii, endl-uri, numere, tot ce trebuie sa afisezi si la final afisezi acel string. Toate int-uri, normal, le transformi in siruri de caractere.

Am facut asta. Am folosit vectori de caractere unde fiecare element retine practic o linie a matricei ce trebuie afisata, pe care o afisez cu fprintf(fout, "%s", s[ i ]), iar acum iau 4 TLE in loc de 1. Unde gresesc?


Titlul: Răspuns: 265 Sah
Scris de: Alexandru Valeanu din Septembrie 17, 2013, 21:20:30
Da se pare ca nu merge chiar atat de simplu pe cat credeam. Dupa mai multe tentative de parsare asta ia un timp de 60ms pe testul final:
Cod:
void number(int x)
{
    int sz = 0;

    while ( x )
    {
        out[ ++sz ] = x % 10 + '0';
        x /= 10;
    }

    while ( sz )
        file_out += out[ sz-- ];
}

void print()
{
    ofstream g("sah.out");

    for ( int i = 1; i <= N; ++i )
    {
        for ( int j = 1; j <= N; ++j )
        {
            number( A[i][j] );
            file_out += ' ';
        }

        file_out += '\n';
    }

    g << file_out;
}
Daca tot nu iti iese da-mi mesaj si mai vedem...oricum trebuie sa fie foarte optimizata sa intre...Succes!

PS: Eu am reusit sa iau 100p si fara parsare...citind si afisand si functiile din C, dar pe ultimul test am avut 200ms.


Titlul: Răspuns: 265 Sah
Scris de: Guianu Leon din Septembrie 18, 2013, 12:05:05
A mers cu ideea ta, desi eu faceam acelasi lucru. Nu-mi dau seama de ce merge mai repede.


Titlul: Răspuns: 265 Sah
Scris de: Vozian Valentin din Iulie 24, 2016, 12:45:55
Lmita de timp este prea joasa, facand doar 2 foruri si folosind printf abia am obtinut la ultimul test 200ms. :-k


Titlul: Răspuns: 265 Sah
Scris de: Arhire Andrei din Februarie 16, 2019, 01:13:15
   "sursa asta":https://infoarena.ro/job_detail/2345248?action=view-source foloseste 4 int uri ca memorie si
 apare ca 3538kb  . e ceva in neregula cu evaluarorul ?  :thumbdown: