Programavimo pamokėlės

pamokelesm

Mokymų ciklas „Programavimo pamokėlės" skirtos visiems, kurie nori išmokti programuoti.

IT galvosūkiai

itgalvosukiai

Konkurso tikslas – skatinti moksleivius domėtis IT sprendžiant įvairiausius galvosūkius.

Informikas

informikasm

Konkurso tikslas – supažindinti moksleivius su menu informacinėse technologijose ir mūsų talismanu.

Dr. J. P. Kazicko konkursai

kkonkursai

Žemaitijos, Aukštaitijos, Suvalkijos ir Dzūkijos regionuose vykdomas IT konkursas.

       
×

Įspėjimas

JUser: :_load: Nepavyko įkelti nario su id: 825

Užduotis

Parduotuvėse dažnai galima pamatyti pardavinėjamą įvairų gabaliukais supjaustytą sūrį. Sūrio gaminimo pramonė konstruoja įrenginius, kurie galėtų supjaustyti sūrį vienodos masės gabaliukais. Tačiau įrenginių kūrėjai susiduria su problemomis, kai norima pjaustyti šveicarišką sūrį. Pavyzdžiui, Emmentaler sūryje yra skylių ir skylės yra skirtingų dydžių. Gabaliukas, kuriame yra skylių, sveria mažiau, negu sūrio gabaliukas be skylių. Atsiranda iššūkis supjaustyti sūrį, kuris turi skylių, vienodos masės gabaliukais.

Naudojant naujausias technologijas galima nustatyti skylių vietą ir dydį mikrometrų tikslumu. Sprendžiant šią problemą galima laikyti, kad skylės yra tobulos sferos formos.

Kiekvieno nesupjaustyto sūrio gabalo matmenys yra 100 x 100 x 100 milimetrų. Tikslas - supjaustyti šį gabalą į vienodos masės gabaliukų. Kiekvienas sūrio gabaliukas bus 100 mm pločio, 100 mm aukščio. Jūsų pagalbos reikės nustant kiekvieno gabaliuko storį.

Įvestis

Pirmoje failo in.txt eilutėje yra du sveikieji skaičiai n ir s, kur 0 ≤ ≤ 125 skylių skaičius sūryje ir 1 ≤ ≤ 100 yra skaičius gabaliukų, į kurios reikia supjaustyti sūrį. Likusiose n eilučių - 4 sveikieji skaičiai r, x, y irapibūdinantys sferą, kur r - sferos spindulys, xy ir z sferos centro koordinatės. Šių skaičių matavimo vienetai - mikrometrai. Pjūviai daromi lygiagrečiai z ašiai.

Nesupjaustytas sūris užima taškus (xy, z), kur 0 ≤ x, y, z ≤ 100 000, išskyrus tuos, kurie yra tam tikros skylės dalis.

Laikoma, kad skylės nepersidengia, bet gali liestis. Be to, skylės neišeina už sūrio ribų, bet gali liesti sienas.

Išvestis

I failą out.txt išvesti gabaliukų storius, pradedant nuo sūrio pabaigos, kur z = 0. Didžiausia galima absoliuti paklaida yra 10-9 (išvesti 9 skaičius po kablelio).

in.txt out.txt
0 4 25.000000000 25.000000000 25.000000000 25.000000000
in.txt out.txt

2 5

10000 10000 20000 20000

40000 40000 50000 60000

14.611103142

16.269801734

24.092457788

27.002992272

18.023645064

Pastabos

  • Rekomenduojama naudoti binary search gabaliuko storio skaičiavimui.
  • Pjaunant gabaliuką, įmanoma, jog tam tikros skylės yra kertamos, todėl gali reikėti apskaičiuoti dalinį sferos tūrį, priklausomai nuo to, kurioje vietoje buvo kirsta skylė.

Reikalavimai

  • Panaudoti struktūros duomenų tipą sferos informacijai saugoti. Be to, šioje struktūroje sukurti funkciją sferos tūrio apskaičiavimui.
  • Programos duomenis nuskaityti ir išsaugoti sferų struktūrų masyve.

Papildoma informacija

  • Lygis: 3
  • Taškai: 100
Į viršų