Keresés

Új hozzászólás Aktív témák

  • cocka

    veterán

    válasz lúzer #1215 üzenetére

    Én sem arra gondoltam, hogy az ábrát beolvastatjuk egy progival meg koordináták adatait tároljuk, hanem sokkal egyszerűbben is lehet szerintem.

    Minden csúcsot eljelzel a szokásos betűjelöléssel és felírod az összes lehetséges kombinációt:

    ABC, ABD, ABE, ABF... ABI, aztán ACD, ACE, ACF... ACI, és ez megy egészen AHI-ig, aztán B-vel kezdve: BCD, BCE, BCF.. BCI-ig majd BDE, BDF.. BDI-ig stb... stb..

    és elvileg el kell jutni a végén oda hogy marad az, hogy GHI. Ez ugye 84 kombináció és akkor ezekből szépen lehuzigáljuk azokat amik az ábrán nem alkotnak háromszöget. De ehhez sem kell ábra, mert elég azokat a kombikat(konkrétan szakaszokat) felírni amik között fut él és akkor végignézzük hogy ezek a kettes kombinációk pl: AB, AC, AD stb... BE akármi előfordulnak-e pl. a BCD kombinációban. A hármas csoport akkor fogadható el, ha benne van a BC, BD és CD kombináció is. Na erre kéne valami program, hiszen a programoknak nem okoz gondot a betűkombinációk "felírása" meg az sem, hogy kiszelektálja a megadott szakaszokat a ponthármasok közül.
    Tehát én egy vesszős, elválasztásos bekérős megoldással adnám meg a dolgokat, nem ábra alapján. Aztán az egy egyenesen lévőket meg eleve exclude-olnám és kész is lenne a feladat. Csak nem értek a megírásához.

    A négyszögesnél ugyanez lenne a szisztéma, de ott meg azt kéne vizsgálni, hogy mittomén egy AEFH kombinációban szerepel-e az AE, EF, FH és AH avagy HA (ugye a sorrend mindegy) kombinációk mindegyike, mert ha nem, akkor az nem négyszög. De itt elég csak az egymás mellett lévő pontokat vizsgálni, mert pl. az AF és EH nem része a négyszögnek.

  • Jester01

    veterán

    válasz lúzer #1215 üzenetére

    Hát én ugye a brute-force megoldást implementáltam, ennek megfelelően a pontok koordinátáit vittem fel és a köztük lévő éleket. Nekem a koordináták azért kellettek, hogy meg tudjam állapítani minden pont valóban csúcs-e illetve bizonyos élek nem metszik-e egymást.
    *Ja a bevitelhez lehet egy rajzolóprogram-szerű felületet csinálni.

    @concret_hp: az enyém elvileg bárhány oldalú sokszögre megy :K

    [ Szerkesztve ]

    Jester

Új hozzászólás Aktív témák