Feladat: I.441 Korcsoport: - Nehézségi fok: -
Füzet: 2017/november, 483 - 484. oldal  PDF  |  MathML 
Témakör(ök): Feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Az Első Rend kutatói egy veszélyes sugárfegyvert fejlesztettek ki, amely minden eddig ismert védőpajzson áthatol. Az Ellenállás egy olyan szilárd anyagból álló pajzson kísérletezik, amely a sugárzást visszaveri vagy elnyeli. Tudósaik megállapították, hogy a sugárzás csak két anyag részecskéivel lép reakcióba. Amikor a sugárzás nagy energiájú, akkor a T anyag részecskéi, amikor már kisebb energiájú, akkor az N anyag részecskéi tudják befogni. Mindkét esetben a befogás után nem sokkal a részecskék is kibocsátanak sugárzást: az N anyag sugárzása veszélytelen, míg a T anyag kibocsát egy, a fegyvertől származó sugárzással egyező tulajdonságú, de kisebb energiájú sugárzást. Úgy is tekinthetjük, hogy a T anyag részecskéi visszaverik a nagy energiájú sugarakat, míg a kis energiájúak áthatolnak rajta. Az N anyag részecskéi elnyelik a kis energiájú sugarakat, de a nagy energiájúak áthatolnak rajta. Megmérték, hogy a fegyver sugárzása a T részecskékkel történő ötszöri reakció után válik kis energiájúvá.
A T és az N anyag nagyon ritka a Galaxisban, az Ellenállás csak igen keveset tudott beszerezni belőlük. A tudósok terve az, hogy az N és a T anyag részecskéit elkeverik egy olyan anyagba, amelyen áthatol a sugárzás. Az így kialakított pajzs ‐ megfelelő vastagság, illetve megfelelő számú N és T részecske esetén ‐ alkalmas lenne arra, hogy a sugárzás döntő részét elnyelje, vagy szétszórja, visszaverje. Mivel sem idő, sem megfelelő mennyiségű anyag nem áll rendelkezésre, ezért számítógépes szimulációval vizsgálják, hogy adott N és T részecskemennyiség, valamint falvastagság mellett a bejövő sugárzás mekkora része hatolna át a falon.
A tudósok szerint a jelenséget jól leírja egy síkbeli modell: a fal egy a×b oldalú téglalap, a sugárzás a téglalap egyik b hosszúságú oldalán érkezik, és a téglalap belseje felé tart. A téglalapot gondolatban a×b darab egységnyi négyzetre bontjuk. Mindegyik ilyen négyzet vagy üres (itt áthatol a fegyver sugárzása), vagy T típusú (egy T részecskét tartalmaz, amely a nagy energiájú sugárzást elnyeli), vagy N típusú (egy N részecskét tartalmaz, a kis energiájú sugárzást nyeli el). A T típusú szórás azt jelenti, hogy csökkent energiával, ugyanakkor véletlenszerű irányba történik az elnyelést követő kisugárzás. A sugárzás egyenes irányba terjed, minden négyzetet, amelyet érint, vizsgálni kell az előbbiek alapján. Ha a sugárzás a téglalap a hosszú oldalain kilép, akkor az ellenkező oldalon bejövő sugárzásként folytatja útját. Ha a sugárzás elnyelődik, vagy azon a b hosszú oldalon lép ki, amelyen beérkezett, akkor a fal hatékonyan működik. Ha a bejövő sugárzás a b hosszúságú másik oldalon lép ki, akkor átjutott a falon.
Készítsük el a szimulációt végző programot. A program standard bemenete a falat modellező téglalap a szélessége (10a100), és b magassága (100b10000), valamint az N és T típusú részecskét tartalmazó négyzetek száma a téglalapon (ab/10N+Tab). A program adja meg a standard kimeneten, hogy 100 000 beérkező sugárzásból átlagosan hány sugár jut át a falon.

 
Példa bemenetekPélda kimenetek   10 150 100 1006349510 150 100 1006341420 150 200 4002333920 150 200 4002293050 5000 3000 100003608350 5000 3000 1000035997
 

Beküldendő egy tömörített i441.zip állományban a program forráskódja, valamint a program rövid dokumentációja, amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.