Pagini: 1 [2]   În jos
  Imprimă  
Ajutor Subiect: 016 Joc  (Citit de 26926 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
•bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #25 : Octombrie 04, 2005, 17:16:13 »

Eu luam 30 pct pentru ca gresisem initializarea matricei
Memorat
•gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #26 : August 23, 2007, 22:02:06 »

Citat din mesajul lui: sarabogdan
Ziceti-mi si mie cat da pe  :

...

4 6
 2  1  3   4  0   5
 3 -1 -2  0   4 -1
-1 -2 -3 -4 -5 -6
 1  2  3  4   5  6
poate ma prind ce-am gresit.

Multumesc anticipat! Brick wall

 3 1 6

Nu pricep cum obtine diferenta 3..
Gicu ia 5 (1,6), Nelu 4 (1,4) => dif=1;
Gicu ia 3 (1,3), Nelu 2 (1,1)=> dif=2;
si se termina jocul...

ceea ce e totuna cu: Gicu ia 2(1,1)... si se termina.. e aceasi diferenta.. avand in vedere ca amandoi joaca optim, nu ma prind ce nu am inteles in exemplul respectiv...
Memorat
•fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #27 : August 24, 2007, 13:54:16 »

diferenta 3 se obtine astfel: Gicu ia 5 (1,6), Nelu ia 4 (1,4), Gicu ia 2 (1,1). 5+2-4 = 3
prima linie a matricii este si exemplul dat de mircea, al carui raspuns este tot 3 1 6.

LE: strategia dupa care ai incercat sa rezolvi exemplul de mai sus e greedy. problema se rezolva prin programare dinamica (cel putin asa am rezolvat-o eu)
« Ultima modificare: August 24, 2007, 14:00:43 de către Bogdan A. Stoica » Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
•ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #28 : Ianuarie 24, 2011, 23:36:21 »

Nu inteleg deloc de ce nu merge testul 8. Algoritmul meu memoreaza in sol[ i ][ j ] - maximul  pana la (i,j) (desigur memorez undeva solutia ca sa fie pe lina si coloana potrivita). sol[ i ][ j ]=max(sol[ i-1 ][ j ],sol[ i ][ j-1 ],a[ i ][ j ]-sol[ i ][ j-1 ],a[ i ][ j ]-sol[ i-1 ][ j ]).
Teoretic ar trebui sa mearga perfect.
Ba chiar arata si greseala din exemplul lui domino (vad ca nu a mentionat nimeni, pentru primul test solutia e 3 2 4 nu 3 2 6).
« Ultima modificare: August 16, 2011, 19:29:25 de către FMI - Paul-Dan Baltescu » Memorat
•Mitza444
Client obisnuit
**

Karma: 6
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #29 : Octombrie 24, 2011, 16:09:22 »

Chiar nu am nici o idee de rezolvare Shocked,ma puteti ajuta cu niste indicatii?? Think
Memorat
•SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #30 : Octombrie 24, 2011, 16:53:48 »

Chiar esti orb ? Pe bune acum, rezolvarea este exact cu un post mai sus, si minune e si corecta  Shocked.
Memorat
•ion824
Strain


Karma: 11
Deconectat Deconectat

Mesaje: 17



Vezi Profilul
« Răspunde #31 : Iunie 29, 2012, 22:06:59 »

Cat va da pentru testul respectiv?
1 2
-5 -5
Memorat
•SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #32 : Iunie 29, 2012, 22:43:16 »

Cod:
0 1 2
Memorat
•ion824
Strain


Karma: 11
Deconectat Deconectat

Mesaje: 17



Vezi Profilul
« Răspunde #33 : Iunie 30, 2012, 11:39:48 »

Intuieste cineva ce are testul 8 ? Solutia mea e asemanatoare cu cea descrisa de usurelu catalin .
Memorat
•thesilverhand13
Strain
*

Karma: 9
Deconectat Deconectat

Mesaje: 32



Vezi Profilul
« Răspunde #34 : Septembrie 19, 2012, 17:26:29 »

 @ Ursuletul Catalin: pentru acel test a lui Domino,raspunsul este chiar 3 2 6  Whistle....
Memorat
•swim406
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #35 : Februarie 19, 2013, 13:31:00 »

Cod:
for (i = 1; i <= N; ++i)
for (j = 1; j <= M; ++j)
maxmat[i][j] = best[1][1];

...

Cod:
if (best[i][j] > maxmat[i][j]) 
for (k = i; k <= N; ++k)
for (l = j; l <= M; ++l)
maxmat[k][l] = best[i][j];

Iau 80 de puncte cu WA pe 6 si 9, si am ajuns la concluzia ca este din cauza maximului. Asta este bucata unde lucrez cu maximul... Nu imi dau seama de greseala nicidecum. Sa fie altceva?
Memorat
•new_programmer
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 22



Vezi Profilul
« Răspunde #36 : Mai 27, 2013, 18:42:31 »

Va rog foarte frumos sa mentionati in restrictiile problemei ca diferenta de scor inseamna scor Gicu - scor Nicu. Cuvantul "diferenta" are o alta semnificatie decat cea pe care o are in enunt. Am pierdut foarte mult timp si nu as vrea sa piarda si altii.
Memorat
•pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #37 : Mai 27, 2013, 19:12:18 »

Diferenta: vezi prima definitie, semnificatia 2.
Memorat

Am zis Mr. Green
•wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #38 : Mai 27, 2013, 19:32:38 »

Citeste primele doua comentarii din acest topic. Enuntul este destul de clar.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
•DorelBarbu
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 34



Vezi Profilul
« Răspunde #39 : Noiembrie 13, 2014, 21:48:39 »

Va rog, ar putea posta cineva o mica explicatie a relatiei de reucrenta? d[ i][j] = diferenta maximace poate fi obtinuta in dreptunghiul incadrat de pozitia (1,1) si (i,j). Eu asa m-am gandit, dar nu ma prind cum sa continui. Am vazutca intr-adevar, si altii au facut asa. Mi-ar prinde bine un hint. multumesc in avans!
« Ultima modificare: Noiembrie 13, 2014, 23:17:57 de către Mihai Calancea » Memorat
•Vlad_lsc2008
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #40 : Aprilie 18, 2016, 22:01:39 »

Ok...nu pot sa trec peste 60 de punte orice as face. Ma poate ajuta cineva?
Memorat
•Vlad_lsc2008
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #41 : Aprilie 18, 2016, 22:06:21 »

Nevermind....era o greseala stupida.... Brick wall Brick wall Brick wall
Memorat
•mihai.alpha
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 16



Vezi Profilul
« Răspunde #42 : Ianuarie 17, 2017, 00:13:17 »

Problema asta ma dispera. Am facut cu programare dinamica si tot imi da 70 de puncte, cu testele 6, 8, 9 WA. Uitati codul:

Cod:

#include <bits/stdc++.h>

#define Max 1004

FILE *fin, *fout;
int N, M;
int a[Max][Max];
int maxi[Max][Max], sol[Max][Max];

inline int smax(int a, int b)  {
    if(a > b)
        return a;

    return b;
}


int main()  {
    fin = fopen("joc.in", "r");
    fout = fopen("joc.out", "w");

    int s;

    fscanf(fin, "%d%d", &N, &M);

    for(int i = 1;i <= N;i++)
        for(int j = 1;j <= M;j++)
            fscanf(fin, "%d", &a[j]);
    int ri, rj;

    s = a[1][1];
    ri = 1, rj = 1, maxi[1][1] = a[1][1];
    sol[1][1] = a[1][1];
    maxi[1][2] = a[1][1];
    maxi[2][1] = a[1][1];


    for(int i = 1;i <= N;i++)
        for(int j = 1;j <= M;j++)  {
            if(i == 1 && j == 1)
                continue;
            sol[j] = a[j] - maxi[j];
            maxi[j] = smax(maxi[j], sol[j]);
            maxi[j + 1] = maxi[j];
            maxi[i + 1][j] = maxi[j];
            maxi[i + 1][j + 1] = maxi[j];
            if(sol[j] > s)
                s = sol[j], ri = i, rj = j;
        }

    fprintf(fout, "%d %d %d", s, ri, rj);

    fclose(fin);
    fclose(fout);

    return 0;
}

Later edit:

Am luat 100p. Am refacut dinamica si a mers Smile
« Ultima modificare: Ianuarie 17, 2017, 22:23:28 de către mihai craciun » Memorat
•FlorinHaja
Strain
*

Karma: -8
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #43 : Martie 02, 2017, 09:34:53 »

De ce nu e diferența maximă 10? Rețin o matrice smax[2][ i][j] , în care rețin soluția maximă pe care o obțin având ultimul jucător Gicu (pt. rândul 0) sau Nicu (pt. rândul 1). Gicu poate lua jetoanele de valoare 5, 4 și 2, iar Nicu cele de valoare 0 și 1.
Memorat
•andrei.arnautu
Client obisnuit
**

Karma: 9
Deconectat Deconectat

Mesaje: 58



Vezi Profilul
« Răspunde #44 : Martie 02, 2017, 10:58:41 »

Citat
Presupunand ca fiecare din cei doi joaca optim

Pe cazul din exemplu se intampla ceea ce este scris la explicatii, mai jos de enunt.

Ideea este ca primul jucator vrea sa maximizeze diferenta, iar cel de-al doilea urmareste sa o minimizeze, asta inseamna ca "amandoi joaca optim". Wink
Memorat
•PatrickCplusplus
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #45 : Iulie 21, 2019, 10:00:56 »

Daca am matricea 6 1 2 3 4 7 Gicu alege 7 sau 6 Huh?
Memorat
•PatrickCplusplus
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #46 : Iulie 21, 2019, 10:07:08 »

Never mind, am inteles!
Memorat
Pagini: 1 [2]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines