Kezdőoldal » Számítástechnika » Programozás » Hogyan oldjam meg?

Hogyan oldjam meg?

Figyelt kérdés

Adott n darab pont. Határozd meg azt a legnagyobb négyzetet, amit ezekből a pontokból alkothatunk!


Addig sikerült eljutnom, hogy 4 pontról megállapítom, hogy négyzet-e.


A tanár annyi segítséget adott, hogy: "4 for vagy backtracking".


Előre is köszi a segítséget!



2016. febr. 24. 19:08
 1/2 anonim ***** válasza:

- Kivalasztasz 4 pontot

- Ha negyzetet alkotnak, akkor kiszamolod a teruletet

- Ha ez nagyobb mint az eddigi legnagyobb terulet, akkor eltarolod a pontokat

- Vissza az elejere


A nehezen mar tulvagy, a 4 pont kivalasztasat megirhatod 4 for ciklussal es kesz is van.

2016. febr. 24. 19:20
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Én úgy csinálnám hogy ha van N pontod akkor kell egy NxN méretű mátrix M ahol az M(i,j) elem megadja az i és j pont távolságát. Ez után csak meg kell nézni hogy van olyan M(j,k) elem ami megegyezik ezzel a távolsággal ahol k=/=i, ha igen akkor megnézed M(k,l)-re is és végül M(l,i)-re. Ha van ilyen i,j,k,l négyes, akkor az egy rombusz. Meg kell nézni hogy M(i,k)==M(j,l) igaz e, ha igen, akkor az egy négyzet.


Bonyolultnak hangzik, de nagyon egyszerű és viszonylag gyors. Ha a legnagyobb M(i,j) elemmel kezded a keresést és csökkenő sorrendben haladsz, akkor az első találat egészen biztosan a legnagyobb négyzetet fogja visszaadni.

2016. febr. 24. 22:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!