infoarena

infoarena - concursuri, probleme, evaluator, articole => .CAMPION => Subiect creat de: Vlad Eugen Dornescu din Decembrie 03, 2010, 19:33:17



Titlul: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Vlad Eugen Dornescu din Decembrie 03, 2010, 19:33:17
Salut!
Am o problema la implementarea solutiei oficiale si nu o inteleg partial.In solutie scrie ca se va alege primul purcelus nedeschis (cu cheie sau spart) adica nodul cu valoarea cea mai mica, care n-a fost "deschis".De aici incercam sa gasim un circuit, ca sa aflam porcusorul care trebuie deschis (spart, iar apoi facem un DFS sa deschidem ceilalti, cu cheile gasite in acesta).
Un ciclu intr-un graf neorientat este echivalent cu un circuit intr-un graf orientat ?
Voi alege nodul (porcusorul) cu gradul cel mai mare ? (Adica cu cele mai multe chei ? si voi deschide vecinii acestuia) Este cumva o abordare de tip greedy sau n-am inteles eu bine solutia deloc? :)

Multumesc.


Titlul: Răspuns: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Hreapca Aurelian din Decembrie 03, 2010, 20:47:30
Cu un DFS intr-un graf neorientat obtii 100 de puncte.


Titlul: Răspuns: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Lepadat Mihai-Alexandru din Decembrie 03, 2010, 21:06:55
Trebuie doar sa determini numarul de componente conexe. Daca asociezi un graf problemei observi ca fiecare nod are gradul intern MAXIM 1 (doar un purcelus are cheia lui) deci nu exista posibilitatea ca la o parcurgere sa ramana un nod nevizitat din componenta conexa pe care o parcurgi. Sper ca te-am ajutat cat de cat, nu ma pricep sa dau explicatii :roll: . Ia-ti niste exemple si o sa observi cum functioneaza. :ok:


Titlul: Răspuns: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Dragos din Decembrie 04, 2010, 18:52:09
Se poate lua 100 si daca dublezi muchiile si determini componenetele conexe :thumbup:.
Dar trebuie neaparat sa parsezi citirea altfel vei lua 63.


Titlul: Răspuns: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Petru Trimbitas din Decembrie 04, 2010, 19:06:58
Eu cu citiri in c++ luam 63 si cu citiri in c luam 97 :))


Titlul: Răspuns: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Mihai Calancea din Decembrie 04, 2010, 22:15:04
Merge si fara parsare daca faci cu disjoint data set si eviti dfs-ul. Probabil.


Titlul: Răspuns: CHEI, RUNDA 2 .CAMPION 2010
Scris de: Dragos din Decembrie 05, 2010, 16:06:19
Merge intradevar cu multimi disjuncte fara parsare, dar tot trebuie sa foloseti citirea cu scanf().
Cu streamuri se ia 75.