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

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« : August 11, 2006, 19:10:27 »

Aici puteţi discuta despre problema Plimbare.
Memorat
cristy
De-al casei
***

Karma: 2
Deconectat Deconectat

Mesaje: 136



Vezi Profilul
« Răspunde #1 : August 11, 2006, 23:43:46 »

cum se face desc in comp tare conexe in O(N+M)?
Memorat

... lipsa de inspiratie ...
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #2 : August 12, 2006, 00:18:34 »

http://zhuzeyuan.hp.infoseek.co.jp/ita/chap23.htm

CLR sectiunea 23.5

Cam neintuitive demonstratiile de pe acolo, gasesti explicatii putin mai bune daca vei  cauta pe google strongly connected components algorithm.
« Ultima modificare: August 12, 2006, 00:28:20 de către Cosmin » Memorat
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #3 : August 12, 2006, 11:36:50 »

 Nu vrea cineva sa-mi de-a un test , sa vad daca e gresit algoritmul meu? Mie imi merge la toate testele si pare foarte logic
Memorat

This is not a signature ! I repeat, this is not a signature !
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #4 : August 12, 2006, 14:11:59 »

pai zi cum faci ca sa stim ce test sa iti dam
Memorat
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #5 : August 12, 2006, 21:28:31 »

   Confused    Pai retin toate conectiile in liste de adiacenta. Apoi iau fiecare punct in parte si consider toate posibilitatile de parcurgere a grafului incepand din acel punct(folosind un vector viz si un vector max si un vector st). daca dau de un punctul de la care am pornit vad daca k>max si tot asa . (k= nr el din st[] unde in st retin elementele vizitate). Acuma mie mi se pare algoritmu fara nici o greseala si iau 0 la toate testele.(poate e din cauza la memcpy-uri sau memset-uri care tot timpu fac figuri). Confused
Uite tot algoritmu
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'
Cod:
#include<fstream.h>
int long st[105],b,d,c,a[105][105],i,d1,v[102],j,k,n,viz[105],u,max[105],max1,gasit;
int main()
{ifstream f("plimbare.in");
 f>>n;
 for(i=1,j=(n*(n-1))/2;i<=j;i++)
  {f>>b>>c;
   a[b][++a[b][0]]=c;
   }
  for(i=1;i<=n;i++)
  {memset(viz,0,sizeof(viz));
   memset(max,0,sizeof(max));
   st[1]=i;
   k=1;
   while(k>0)
    {for(j=1,gasit=0,u=a[st[k]][0];j<=u;j++)
       if(max[st[k]]<a[st[k]][j]&&!viz[a[st[k]][j]])
  {max[st[k]]=a[st[k]][j];
   viz[a[st[k]][j]]=1;
   st[++k]=a[st[k-1]][j];
   gasit=1;
   break;
   }

     if(!gasit)
       {max[st[k]]=0;
viz[st[k]]=0;
k--;
}
     if(st[k]==i&&k>1)
       {d=k;
       d1=n;
if(k>max1)
  {max1=k;
   memcpy(v,st,sizeof(st));
   }
n=d1;
k=d;
viz[st[k]]=0;
k--;
}
    }
    }
ofstream g("plimbare.out");
g<<max1-1<<'\n';
for(i=1;i<=max1-1;i++)
 g<<v[i]<<" ";
g<<'\n';
g.close();
return 0;
}
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'
« Ultima modificare: August 19, 2006, 03:15:34 de către greco » Memorat

This is not a signature ! I repeat, this is not a signature !
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #6 : August 13, 2006, 08:04:44 »

si ti-a intrat asha ceva in timp?HuhHuh??  Shocked
Memorat
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #7 : August 13, 2006, 19:31:19 »

 Fara nici o problema.mi se pare ca mi-a dat un test doua TLE.
Memorat

This is not a signature ! I repeat, this is not a signature !
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #8 : August 13, 2006, 20:18:50 »

Si cate puncte ai luat?
Memorat
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #9 : August 13, 2006, 20:33:10 »

   Deci nici io nu credeam ca o sa imi intre in timp, da daca a intrat , unde e problema ? Ca am luat zero puncte pt WA . Asa ca imi da cineva un test sau nu ?
  Tinand cont de faptu ca n-ul e mai mic sau egal cu 100 si ca nu exista conectii decat pe un singur sens , nu pot sa zic ca ia kiar asa mult timp
« Ultima modificare: August 13, 2006, 20:35:17 de către pocaitu » Memorat

This is not a signature ! I repeat, this is not a signature !
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #10 : August 13, 2006, 20:38:36 »

Pai cateodata algoritmii implementati gresit merg instantaneu Smile, daca luai vre-un test inseamna ca era ceva bun pe acolo. Ca sa faci toate ciclurile posibile iti trebuie un algoritm exponential, si eu nu prea am vazut un backtraking pe acolo. Primul test are vreo 10 noduri si ciclul optim e de lungime 4, deci daca era ceva corect ar fi trebuit sa iei cam cu orice algoritm macar 5 puncte.
« Ultima modificare: August 13, 2006, 20:41:31 de către Cosmin » Memorat
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #11 : August 13, 2006, 21:02:02 »

 Am lucrat algoritmul meu pas cu pas si merge excelent,exact asa cum vream eu sa mearga . De aceea am rugat pe cineva sa-mi dea un test . Deci nu merge instantaneu. Eu ma gandesc ca poate se opreste undeva pe parcurs din cauza unei erori , sau poate am uitat un lucru banal. Na, dar daca nu vrea nimeni sa-mi dea unu asta e;  Si mor de curiozitate unde o fi greseala Confused
Memorat

This is not a signature ! I repeat, this is not a signature !
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #12 : August 13, 2006, 21:10:01 »

Pai tu nu iti poti genera sute de cazuri aleatoare? Si ai vazut in articolul cu solutii cum stii care e lungime maxima a unui ciclu. Deci iti ramane de facut o metoda care genereaza teste si alta care iti valideaza solutia.
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #13 : August 13, 2006, 21:12:19 »

Noi gandim, masinile muncesc! Wink
« Ultima modificare: August 13, 2006, 21:56:24 de către Marius » Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #14 : August 13, 2006, 21:17:16 »

 Muncim si noi knd implementam trei programe pt unu . Stiu backtracking Smile. Kiar programu asta e un backtracking. Dar mi se pare ca am mai zis ca programu merge pe toate testele mele, deci nu aicea e problema
  NU poate fi gresita afisarea  Confused?
 Inca o intrebare: Ce da pt
10
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
2 3
4 2
2 5
2 6
7 2
8 2
2 9
2 10
4 3
3 5
3 6
7 3
8 3
3 9
3 10
4 5
6 4
4 7
8 4
4 9
4 10
5 6
7 5
8 5
5 9
5 10
6 7
6 8
6 9
6 10
8 7
7 9
7 10
8 9
8 10
9 10
Huh mie imi da
7
2 3 5 6 8 4 7
« Ultima modificare: August 13, 2006, 22:22:08 de către pocaitu » Memorat

This is not a signature ! I repeat, this is not a signature !
vladut.forum
Vizitator
« Răspunde #15 : August 13, 2006, 23:55:44 »

pai din cate vad io inccepi cu nodu 2...

si tot timpu tre sa incepi de la nodu 1 ..

vezi poate il omiti de la afisare
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #16 : August 14, 2006, 00:02:55 »

Unde scrie in problema ca trebuie sa incepi cu nodul 1?Huh
Memorat
pocaitu
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 141



Vezi Profilul
« Răspunde #17 : August 14, 2006, 00:03:38 »

Nu incep cu nodul unu daca el nu face parte din ciclul optim.
Memorat

This is not a signature ! I repeat, this is not a signature !
lucian666
Client obisnuit
**

Karma: 16
Deconectat Deconectat

Mesaje: 84



Vezi Profilul
« Răspunde #18 : Decembrie 11, 2012, 00:05:12 »



Salutare  Very Happy . Am facut la problema aceasta un algoritm ( plus-minus ) pt determinarea componentelor conexe + un back pt a gasi ciclul corect.Iau doar 70 pct ,restul TLE.Exista ceva mai optim decat atat  Raised eyebrow ?
Multumesc Anticipat!!!!
Memorat
CosminRusu
De-al casei
***

Karma: 77
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #19 : Iunie 26, 2013, 09:20:44 »

Da. Lasa plus minus si incearca algoritmul lui Tarjan pentru componentele conexe Thumb up.
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #20 : August 07, 2013, 18:40:51 »

Am luat 70p folosind si algoritmul lui Tarjan si cel al lui Kosaraju pentru componente + backtracking. Se poate lua 100p cu backtracking ?
Memorat
japjappedulap
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #21 : Noiembrie 02, 2014, 23:55:22 »

Spuneti-mi si mie, ce au testele 9, 11, 13, 15, 17, 19 asa special??
Cu tarjan + back iau 70. Pe testele mentionate iau TLE, iar pe restu' OK, 0ms.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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