Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az I. 441. feladat (2017. november)

I. 441. 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 \(\displaystyle a\times b\) oldalú téglalap, a sugárzás a téglalap egyik \(\displaystyle b\) hosszúságú oldalán érkezik, és a téglalap belseje felé tart. A téglalapot gondolatban \(\displaystyle a\times 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 \(\displaystyle 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 \(\displaystyle 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 \(\displaystyle 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 \(\displaystyle a\) szélessége (\(\displaystyle 10 \le a\le 100\)), és \(\displaystyle b\) magassága (\(\displaystyle 100 \le b \le 10\,000\)), valamint az N és T típusú részecskét tartalmazó négyzetek száma a téglalapon (\(\displaystyle a\cdot b/10 \le \mathrm{N} + \mathrm{T} \le a\cdot b\)). A program adja meg a standard kimeneten, hogy \(\displaystyle 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 10063495
10 150 100 10063414
20 150 200 40023339
20 150 200 40022930
50 5000 3000 1000036083
50 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ó.

(10 pont)

A beküldési határidő 2017. december 11-én LEJÁRT.


A feladatra érkezett megoldások a szimulációt lényegében helyesen végezték. Egy probléma adódott, hogy a szövegből úgy értelmezték, hogy a sugárzás celláról-cellára "lép", és nem egyenesen terjed. Ez a valóságtól igen távol álló egyszerűsítés, pedig a feladat leírásában szerepelt, hogy a sugár egyenesen halad, és az így érintett négyzetek által meghatározott falrésszel kerül kapcsolatba. Ennek ellenére elfogadtuk ezt az értelmezést, így a helyes eredményt adó megoldások maximális pontot kaptak.

Egy mintamegoldás: i441.cpp

A tesztfájlok és a kapott kimenetek: teszt.zip


Statisztika:

8 dolgozat érkezett.
10 pontot kapott:Horcsin Bálint, Kis Lázár Bence.
9 pontot kapott:Sepsi Csombor Márton.
8 pontot kapott:2 versenyző.
7 pontot kapott:1 versenyző.
6 pontot kapott:1 versenyző.
5 pontot kapott:1 versenyző.

A KöMaL 2017. novemberi informatika feladatai