Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2015. november 29.

2015. november 29. 10:40 – 2015. november 29. 15:40

Három pontra illeszkedő kör

Írj egy programot, amely egy sík három pontja euklideszi koordinátáinak ismeretében meghatározza a három pontra illeszkedő kör egyenletét. A három pont nem fog egy egyenesre esni.

A megoldást két egyenlet formájában kell kiírni. Az első egyenlet alakja a következő:

(x – h)2 + (y – k)2 = r2

A másodiké pedig a következő:

x2 + y2 + cx + dy + e = 0

A bemenet specifikációja

A programod bemenetének minden sora három pont x és y koordinátáit tartalmazza Ax, Ay, Bx, By, Cx, Cy sorrendben. Ezek a koordináták valós számok lesznek, egymástól egy vagy több szóközzel elválasztva.

A kimenet specifikációja

A programodnak a kért egyenleteket két sorba kell a kimenetre írnia a példa kimeneten látható formátumban. A fenti egyenletekben szereplő h, k, r, c, d és e változók kiszámított értékeit három tizedesjegy pontossággal kell kiírni. Az egyenletekben a plusz- és mínuszjeleket szükség szerint kell alkalmazni úgy, hogy egyik szám előtt se legyen két jel. A plusz-, a mínusz- és az egyenlőségjeleket egy-egy szóközzel kell elválasztani a szomszédos karakterektől mindkét oldalon. Máshol azonban nem szerepelhet szóköz az egyenletekben. Ha az első egyenletben h vagy k értéke 0, akkor ezt az értéket az előtte lévő operátorral és a hozzá tartozó zárójelekkel együtt el kell hagyni. Hasonlóan, ha a második egyenletben c, d vagy e értéke 0, akkor a megfelelő tagot és az előtte lévő operátort el kell hagyni. Minden egyenletpár után egy üres sort is írj a kimenetre!

Példa bemenet

  1. 7.0 -5.0 -1.0 1.0 0.0 -6.0
  2. 1.0 7.0 8.0 6.0 7.0 -2.0
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. (x - 3.000)^2 + (y + 2.000)^2 = 5.000^2
  2. x^2 + y^2 - 6.000x + 4.000y - 12.000 = 0
  3. (x - 3.921)^2 + (y - 2.447)^2 = 5.409^2
  4. x^2 + y^2 - 7.842x - 4.895y - 7.895 = 0
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.