infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Mircea Pasoi din Noiembrie 18, 2004, 00:31:10



Titlul: 040 Zaharel
Scris de: Mircea Pasoi din Noiembrie 18, 2004, 00:31:10
Aici puteţi discuta despre problema Zaharel (http://infoarena.ro/problema/zaharel).


Titlul: 040 Zaharel
Scris de: Dobre Catalin Andrei din Iulie 16, 2005, 13:10:59
Poate sa imi dea cineva un test in care solutia este -1... Sau ii in enunt doar de forma!?


Titlul: 040 Zaharel
Scris de: Filip Cristian Buruiana din Iulie 19, 2005, 18:29:48
Eu zic ca e doar formal... Adica intotdeauna exista solutie!


Titlul: 040 Zaharel
Scris de: Rus Cristian din Octombrie 28, 2005, 17:24:34
poate pun o intrebare tampita...dar...exista posibilitatea sa fie 2 puncte cu aceleasi coordonate?


Titlul: 040 Zaharel
Scris de: Sima Mihai Cotizo -vechi din Ianuarie 01, 2006, 10:30:00
exista mereu solutie, credeti-ma pe cuvant :P

totusi folosesc un algoritm bun, demonstrabil, citit printr-o carte... si imi da 0 puncte  :dontgetit:
fac cam asa: bag punctele rosii intr-un fel de lista, o matrice cu indicii din sirul inital pe care se afla buline rosii (pe ro[1] se afla bulinele de pe coloana 1 samd) si la fel cu bulinele albastre (pe al[1] se afla bulinele de pe linia 1) pana cand bag pe acel rosu care l-am bagat primul in lista
si pe urma il iau pe primul rosu intalnit si caut pe linia lui un albastru, pe urma pe coloana albastrului un rosu samd... si imi da WA la toate, dupa ce mi-a dat la inceput "Fisier iesire lipsa"


Titlul: 040 Zaharel
Scris de: VladS din Ianuarie 01, 2006, 11:01:45
Coty: E bine cum zici tu. Ai gresit la implementare. Aceeasi solutie e si in articolul cu "Solutii oficiale pentru Concursul de incalzire".

Crysti: Daca ar exista doua puncte cu aceeasi coordonata nu s-ar incalca enuntu. Deci e posibil.


Titlul: 040 Zaharel
Scris de: Sima Mihai Cotizo -vechi din Ianuarie 01, 2006, 11:08:52
dap, exact asta era ideea care am gasit-o si in manual... deci e implementarea, dar unde? sa vad, banuiesc ca e de la faptu ca iau PRIMUL rosu care il intalnesc, si poate ala nu furnizeaza solutie

si pot exista doua buline cu aceleasi coordonate? :-k  dar nu se schimba algoritmul, chiar il simplifica oarecum la intelegere

[later edit]
trebuie cumva un poligon cu nr MAXIM de varfuri?... ca e cam ciudat, dar putem afisa doua segmente cu acelasi mijloc... si nu prea e poligon, dar e o solutie

alta intrebare... desi inutila, explicata in enunt: evaluatoru chiar nu se supara daca e o ordine oarecare?


Titlul: Raspuns: 040 Zaharel
Scris de: Codrea Marcel din Iunie 24, 2006, 09:44:50
Poligonul = o linie franta inchisa. -are cel putin trei laturi (triunghi) ...(sura:Google  :readthis:)
eu daca vedeam ca nr de puncte <6 atunci afisam -1...era vorba despre doua linii,nu despre doua poligoane si luam 90 pct cu WA la testul 7  ](*,)...ar trebui reformulata problema!


Titlul: Raspuns: 040 Zaharel
Scris de: Savin Tiberiu din Noiembrie 18, 2006, 12:06:41
am facut si eu problema si totusi iau doar 70 cu WA pe 5,7 si 8. Am crezut ca sunt testele cu -1, asa ca am implementat si verificarea si tot 70 pct, asa ca am scris un program care afiseaza doar -1 deci nu exista nici un test fara solutie. Totusi care e problema pe acele teste ca nu inteleg  :'( :peacefingers:

PS : dak un punct albastru si unul rosu aveau aceleasi coordonate eu le scot pe amandoua afara ptr ca dak unul din poligoane contine unul din ele automat celelalt contine celalalt punct, si dak le scot pe amandoua (pe cel rosu din poligonul rosu si cel albastru din poligonul albastru) atunci centrele de greutate raman egale. Dak gresesc va rog sa ma corectati


Titlul: Raspuns: 040 Zaharel
Scris de: ditzone din Noiembrie 19, 2006, 11:24:39
Pai de exemplu daca toate punctele rosii coincid cu cele albastre tu nu elimini toate punctele.. ?
Din ce mai formezi poligonul ?


Titlul: Răspuns: 040 Zaharel
Scris de: Florian Marcu din Iunie 06, 2007, 08:30:58
Salut! Eu iau 0 puncte pentru urmatorul cod:

Cod:

i=1;
j=1;
while(i!=0&&j!=0)
{
j=rosDePeLinia(i);//j primeste pozitia unei buline rosii de pe linia i

ros[++ro]=i; ros[++ro]=j;//introduc in vector cele 2 pozitii

i=albDePeColoana(j);//i primeste pozitia unei buline albe de pe coloana j;

alb[++al]=i; alb[++al]=j; //introduc in vector cele 2 pozitii
}
fprintf(g,"%d\n",ro-2); //pana la ros-2 intrucat ultimile 2 pozitii puse in vector vor avea o valoare de 0 [invalida].

for(i=1;i<ro-1;++i) fprintf(g,"%d ",ros[i]);
fprintf(g,"\n");
for(i=1;i<al-1;++i) fprintf(g,"%d ",alb[i]);


Introduc elemente in cei 2 vectori cat timp nu dau de 1 o bulina care a mai fost introdussa. Fiecare element pe care il pun il elimin. Bulinele rosii si cele albastre le tin in doua matrici diferite. Care e problema?


Titlul: Răspuns: 040 Zaharel
Scris de: Iordache Albert din August 07, 2009, 19:36:38
Nici eu nu inteleg. Fac exact cum spune rezolvarea: incep cu un punct rosu (oarecare; eu il iau pe cel de pe prima linie)->punct albastru de pe coloana->punct rosu de pe linie->punct albastru de pe coloana pana dau de un punct rosu deja intalnit pe care nu il mai afisez.

Daca ultimul punct intalnit e albastru, nu rosu, nu-l afisez si sar peste ultimul punct rosu adaugat cand afisez.


Titlul: Răspuns: 040 Zaharel
Scris de: zurzic zeljko din Martie 16, 2011, 18:09:37
Mai vreau si eu niste teste la pb ,va rog :)