infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Stefan Istrate din Aprilie 11, 2010, 10:57:34



Titlul: 1013 Dreptunghiuri2
Scris de: Stefan Istrate din Aprilie 11, 2010, 10:57:34
Aici puteti discuta despre problema Dreptunghiuri2 (http://infoarena.ro/problema/dreptunghiuri2).


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Gabi Purcaru din Aprilie 12, 2010, 09:00:45
... grafuri? eu am luat 100 cu un divide et impera


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Dragos-Alin Rotaru din Aprilie 12, 2010, 09:09:05
Problema admite si o solutie care consta intr-o parcurgere in latime / adancime a matricei.


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Sergiu-Ioan Ungur din Aprilie 12, 2010, 18:54:48
Testele sunt aceleasi ca si la ONI? Nu-mi dau seama de ce pe testele de la ONI iau 100p si aici 90p  #-o.


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Dragos-Alin Rotaru din Aprilie 12, 2010, 19:21:56
Da, numai ca ultimul test e de fapt primul test, penultimul e ultimul si tot asa. Cu alte cuvinte, testele sunt aceleasi  :)
LE: Am testat sursa ta si pe testul pe care iei wa raspunsul tau este 250 249 2, cand ar trebui sa fie 251 250 2.


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Boaca Cosmin din Aprilie 12, 2010, 20:32:52
imi da killed by signal 11 SIGSEGV...am inteles k aceasta eroare o da in momentul in kre accesez o zona de memorie nealocata sau cand aloc prea multa memorie...folosesc o matrice de tip boolean si 4 variabile de tip int.imi poate zice cineva de ce primesc eroare?.am incercat si sursele oficiale de la ONI si primesc aceeasi eroare


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: alexandru din Aprilie 12, 2010, 21:02:40
Poate depasesti limitele matricii, adica poate acesezi C[ 1020 ][ 1020 ] desi ai declarat matricea de mai putin ? Nu pot zice sigur daca nu vad codul :)
Fa un debug ;)


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Tirca Bogdan din Aprilie 12, 2010, 21:14:27
Poate gresesc eu la implementare dar facand asa:
Pentru fiecare dreptunghi parcurg toata zona din interiorul acestuia(O(n*m) n,m dimensiunile dreptunghiului curent) si cand dau de 1 repet procedeul(recursiv). Solutia asta pare a avea o complexitate O(n!*m!) si iau 100 cu ea.
In schimb daca pentru fiecare dreptunghi umplu portiunea cu zerouri si cand intalnesc un 1 repet procedeul pentru dreptunghiul mai mic(deci la dreptunghiul mare nu mai parcurg zona din interiorul dreptunghiurilor mai mici) iau 90 cu TLE.
Nu prea inteleg de ce :D


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Sergiu-Ioan Ungur din Aprilie 12, 2010, 22:42:59
Da, numai ca ultimul test e de fapt primul test, penultimul e ultimul si tot asa. Cu alte cuvinte, testele sunt aceleasi  :)
LE: Am testat sursa ta si pe testul pe care iei wa raspunsul tau este 250 249 2, cand ar trebui sa fie 251 250 2.
Mersi Dragos  :) ! Cred ca mi-am dat seama ce greseam...


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: FII Florea Toma Eduard din Februarie 04, 2011, 00:16:36
Propun modificarea enuntului de la 8 la 4 directii,deoarece este necesara numai parcurgerea pe una din directiile nord,sud,est,vest!Daca vreun moderator crede ca este incorecta afirmatia mea,rog stergerea postului!


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Gabriel Bitis din Februarie 04, 2011, 09:28:56
Propun modificarea enuntului de la 8 la 4 directii,deoarece este necesara numai parcurgerea pe una din directiile nord,sud,est,vest!Daca vreun moderator crede ca este incorecta afirmatia mea,rog stergerea postului!

Cod:
0 0 0 0 0 0
0 1 0 0 0 0
0 0 1 1 1 0
0 0 1 0 1 0
0 0 1 1 1 0
0 0 0 0 0 0

observi ca in exemplul de mai sus pozitia (2, 2) este vecina cu dreptunghiul cu coltul stanga-sus in (3, 3) pe una din directiile pe care tu vrei sa le elimini?
Enuntul e corect .


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Macarescu Sebastian din Februarie 04, 2011, 12:58:04
Gabriel, testul tau este gresit deoarece nu ai nici un dreptunghi. 
Citat
Va exista cel puţin o zonă dreptunghiulară în matrice.


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Gabriel Bitis din Februarie 04, 2011, 13:21:01
Nu am postat un test valid, ci un exemplu de dreptunghi care are un vecin pe directia nord-vest, directie pe care Eduard ar fi vrut sa o elimine din enunt.
Cred ca se vede ca exista un dreptunghi cu coltul stanga-sus in pozitia (3, 3) si cu latimea si lungimea 3.


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: FII Florea Toma Eduard din Februarie 10, 2011, 19:40:02
Asa ,acum am inteles.Multumesc pentru lamuriri!


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Nicu B. din Iulie 12, 2012, 17:42:38
Iau TLE pe testul 9, desi pe toate celelalte teste nu depasesc 200 ms. E ceva capcana la 9 ?:)


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Dan H Alexandru din Iulie 12, 2012, 18:29:27
Mie testul 9 imi ia cat testul 5 ( 168 ms ) , dar probabil e cel mai mare test. Daca nu ai incercat sa parsezi , parseaza. Daca nu , sigur complexitatea ta e buna daca restul intrau , deci gandeste-te la cazuri particulare pentru care tu faci pasi inutili.


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Nicu B. din Iulie 12, 2012, 22:04:41
Am rezolvat pana la urma inlocuind 2 functii recursive facute degeaba (aflam cu ele lungimile laturilor unui dreptunghi) cu 2 while-uri. Mersi pentru raspunsul prompt :D


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Serban Mihai Ionescu din Decembrie 29, 2012, 21:06:21
As avea si eu o intrebare. Iau doar 90 de puncte si am Killed by signal 11 pe testul 5. Nu prea stiu de ce.
Folosesc o matrice de tip short si inca vreo 6 variabile. Daca ma puteti ajuta cu testul 5 sau sa imi dati vreo explicatie. Merci mult! :D


Titlul: Răspuns: 1013 Dreptunghiuri2
Scris de: Dragos-Alin Rotaru din Decembrie 29, 2012, 21:40:24
Incearca sa faci fill-ul iterativ, simuland recursivitatea cu ajutorul unei stive sau fii sigur ca nu iesi vreodata din limitele matricei.