Algoritma Yardım İstek
-
ferriere bunu yazdıNmC bunu yazdı
Olay farklı anlaşılmış. En az doğru kullanmaktan bahsediyor arkadaş, noktaların bazıları aynı doğru üzerinde olacak yani :)
Yukarıdaki arkadaşların verdiği yöntemler en kısa uzunluktaki doğrularla tüm noktaları birleştirmek için.
Senin algoritman fena değil çözüme ulaştırır.Herhangi iki noktayı seçeceksin, doğru denklemini çıkartıp daha sonra diğer noktaların kaç tanesi bu doğru üzerinde ona bakacaksın. Bütün ikililer için yapıp büyükten küçüğe sıralayacaksın. Daha sonra bütün noktaları kapsayacak şekilde doğru kombinasyonlarını seçeceksin. (Son kısım biraz muallak şu an üzerine biraz düşünmem lazım :D )
tamda anlatmak istediğimi anlamışsın hocam ama bende de sonu muallak kaldı orayı nasıl yapıcam çözemedim :)
Aklıma gelen yöntemi söyleyeyim.
Diyelim ki elimizde 10 tane nokta var {1,2,3,4,5,6,7,8,9,0}
Doğrular da şu şekilde çıktı.
1,2,4
2,5,7
7,8,9,0
3,6
0,8
1,7
2,6
... uzar gider.
(Bu arada birşey farkettim. İki farklı doğru kümesi en fazla 1 tane ortak noktaya sahip olabiliyor. 2. bi nokta daha gelirse zaten aynı doğru oluyor ikisi de.)
Doğru büyüklüğüne göre sıralayalım şimdi. (En çok elemanı olan doğrular.)
7,8,9,0
1,2,4
2,5,7
3,6
...
Yukarıdan itibaren doğruları kümene eklemeye başlayacaksınNokta kümen ile karşılaştırıp tüm küme kapsandığı zaman bırakacaksın eklemeyi. Bu şekilde çalışması lazım :)
