infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Adrian Diaconu din Mai 22, 2009, 13:50:20



Titlul: 826 Project management
Scris de: Adrian Diaconu din Mai 22, 2009, 13:50:20
Aici puteţi discuta despre problema Project management (http://infoarena.ro/problema/pm2).


Titlul: Răspuns: 826 Project management
Scris de: Paul-Dan Baltescu din August 02, 2009, 17:38:04
Acum ar trebui sa se poate submita si la aceasta problema.


Titlul: Răspuns: 826 Project management
Scris de: Vlad Manea din August 04, 2009, 18:35:26
Am trimis o solutie si nu primesc niciun raspuns pentru primul test (obtin 90p).
Alti concurenti primesc un raspuns ("a doua valoare gresita") la unele teste gresite.
Sunt cazuri in care evaluatorul nu trimite inapoi raspuns?


Titlul: Răspuns: 826 Project management
Scris de: Gabriel Bitis din August 04, 2009, 21:13:34
S-a rezolvat. Imi cer scuze pentru neplacere!


Titlul: Răspuns: 826 Project management
Scris de: Mihai Jiplea din Decembrie 15, 2009, 12:54:04
Și la această problemă, și la cerc3 de la oji2009 îmi dă "Killed by signal 11(SIGSEGV)." pe toate testele, deși când le evaluez manual după testele de la oji, nu apare nicio problemă. Nu depășesc limitele niciunui vector


Titlul: Răspuns: 826 Project management
Scris de: Serban Andrei Stan din Decembrie 15, 2009, 14:09:32
Poti sa primesti acest mesaj si daca declari prea multa memorie.


Titlul: Răspuns: 826 Project management
Scris de: Florian Marcu din Decembrie 15, 2009, 17:28:07
Și la această problemă, și la cerc3 de la oji2009 îmi dă "Killed by signal 11(SIGSEGV)." pe toate testele, deși când le evaluez manual după testele de la oji, nu apare nicio problemă. Nu depășesc limitele niciunui vector
Ai grija la numele fisierelor .in si .out.  :D Am asa o vaga banuiala ca aici gresesti  :-'


Titlul: Răspuns: 826 Project management
Scris de: alexandru din Ianuarie 02, 2010, 19:59:10
Mai intai La multi ani :D
Nu inteleg unde gresesc in calcularea celei de a 2 valori. Folosesc CPM. Pe exemplu din enunt, la ultima valoare afiseaza 8 8 in loc de 8 9 :(
Cod:
for( i=n-1; i >= 0; --i )
    {minim=inf;
        for( it=vt[order[i]].begin(), iend=vt[order[i]].end(); it < iend; ++it )
            minim=min( minim, lt[*it]-cost[order[i]] );
        if( minim != inf )
          lt[order[i]]=minim;
    }
order - se gasesc nodurile 0, 1, ...,n-1 sortate topologic
vt - retin lista de adiacenta a grafului transpus
cost - timpul necesar indeplinirii fazei i
lt  - timpul maxim la care poate incepe faza i.
Daca ma puti ajuta, va rog :)


Titlul: Răspuns: 826 Project management
Scris de: Pripoae Teodor Anton din Ianuarie 02, 2010, 23:12:47
Mai intai La multi ani :D
Nu inteleg unde gresesc in calcularea celei de a 2 valori. Folosesc CMP. Pe exemplu din enunt, la ultima valoare afiseaza 8 8 in loc de 8 9 :(
Cod:
for( i=n-1; i >= 0; --i )
    {minim=inf;
        for( it=vt[order[i]].begin(), iend=vt[order[i]].end(); it < iend; ++it )
            minim=min( minim, lt[*it]-cost[order[i]] );
        if( minim != inf )
          lt[order[i]]=minim;
    }
order - se gasesc nodurile 0, 1, ...,n-1 sortate topologic
vt - retin lista de adiacenta a grafului transpus
cost - timpul necesar indeplinirii fazei i
lt  - timpul maxim la care poate incepe faza i.
Daca ma puti ajuta, va rog :)

Ce este CMP ?


Titlul: Răspuns: 826 Project management
Scris de: alexandru din Ianuarie 02, 2010, 23:16:15
Scuze era CPM Critical Path Method.
LE: Am rezolvat, n-am tratat cazul in care procesul i nu are succesori :)


Titlul: Răspuns: 826 Project management
Scris de: Diaconeasa Andrei din Februarie 15, 2010, 14:23:22
Cred ca este o eroare in evaluator, afisez corect doar timpul minim si iau 79 puncte, in loc de 40 puncte.


Titlul: Răspuns: 826 Project management
Scris de: Stefan Istrate din Februarie 15, 2010, 17:13:25
Am reparat. Acum vei lua 46 de puncte, nu 40 (testul 1 e mai special :) )


Titlul: Răspuns: 826 Project management
Scris de: Antoche Ioana Alexandra din Februarie 27, 2010, 20:08:00
ca sa aflu timpul minim la care poate fi inceput un proiect fac un fellman-ford in care initial toate distantele sunt -1, si incerc la fiecare pas sa obtin pentru un nod costul maxim (nu minim).
pe ideea asta iau 88 pct. E gresita ideea, sau am busit la implementare? [n-am gasit niciun contraexeplu, iar sursa pare ok]



Titlul: Răspuns: 826 Project management
Scris de: Sfrent Andrei din Februarie 27, 2010, 21:42:39
S-ar putea ca implementarea sa fie de vina. Si eu tot Bellman Ford am folosit.


Titlul: Răspuns: 826 Project management
Scris de: Antoche Ioana Alexandra din Februarie 28, 2010, 11:12:02
da, era de la sursa, multumesc :) !


O mica observatie in ceea ce priveste evaluatorul: evalul spunea ca e gresita a 2-a valoare insa bugul era la cea de-a 3-a!


Titlul: Răspuns: 826 Project management
Scris de: Irimescu Stefan din Martie 04, 2010, 19:58:19
Imi spune si mie cineva unul din testele (inafara de primu) de la ceasta problema va rog? Pe exemplu merge dar iau 29 de puncte ](*,)


Titlul: Răspuns: 826 Project management
Scris de: Ciocan Andrei din Martie 04, 2010, 20:21:26
Sunt aceleasi teste ca si la oji din cate stiu eu. Le gasesti in sectiunea downloads aici http://infoarena.ro/downloads

Spor  :wink:


Titlul: Răspuns: 826 Project management
Scris de: Vlad Schnakovszki din Martie 05, 2010, 11:26:52
Am folosit Critical Path si iau 82 de puncte. Ideea e ca pe 6 teste nu imi da bine a doua valoare. Asta este partea care afla a doua valoare, daca reuseste cineva sa se prinda ce am gresit fac o bere ca pe mine deja ma termina psihic chestia asta. ](*,)
Sper ca nu e prea explicit, pentru ca nu poti lua puncte doar cu bucata asta. :fighting:

Cod:
void critical_path(void)
{
t=0;
for (i=1;i<=n;i++)
check[i]=0;
for (i=1;i<=n;i++)
{
sw=0;
for (j=1;j<=n;j++)
if (m[j][i])
{
sw=1;
break;
}
if (!sw)
{
check2[i]=1;
check[i]=1;
st[++t]=i;
v[i].tfmax=cost;
v[i].tsmax=v[i].tfmax-v[i].c;
}
}

for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (m[st[i]][j]&&!check2[j])
{
st[++t]=j;
check2[j]=1;
}


for (i=1;i<=n;i++)
{
sw=0;
for (j=1;j<=n;j++)
if ((m[j][st[i]]&&!check[j])||check[st[i]])
{
sw=1;
break;
}
if (!sw)
{
min=MARE;
for (j=1;j<=n;j++)
if (m[j][st[i]]&&v[j].tsmax<min)
min=v[j].tsmax;
v[st[i]].tfmax=min;
v[st[i]].tsmax=v[st[i]].tfmax-v[st[i]].c;
check[st[i]]=1;
}
}
}


Titlul: Răspuns: 826 Project management
Scris de: alexandru din Martie 05, 2010, 18:08:21
Inainte de a aplica Critical Min Path ai facut  o sortare topologica ?


Titlul: Răspuns: 826 Project management
Scris de: Cristian Oancea din Martie 07, 2011, 10:05:31
Poate sa-mi dea cineva un link cu critical path .... iau 44 de pct cu o metoda implementata de mine ......  ](*,) ](*,) ](*,) ](*,)
p.s : SE POT LUA 100 DE PCT SI  CU MATRICE DE3 ADIACENTA? :> :-k
 


Titlul: Răspuns: 826 Project management
Scris de: Gabriel Bitis din Martie 07, 2011, 10:13:46
Sigur ca se poate ... sunt maxim 100 de noduri.


Titlul: Răspuns: 826 Project management
Scris de: Cristian Oancea din Martie 07, 2011, 10:34:52
merci :eyebrow:  Ideea e ca pe matrice faci parcurgerea mai ushor


Titlul: Răspuns: 826 Project management
Scris de: Popescu George din Noiembrie 09, 2014, 13:17:29
Imi explica si mie cineva va rog ce este Critical Path Method?