Feladat: I.168 Korcsoport: - Nehézségi fok: -
Füzet: 2007/október, 420 - 421. oldal  PDF  |  MathML 
Témakör(ök): Feladat

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.

Egy téglalap alakú teremben három ,,drót nélküli'' (WiFi) jeladót helyeztünk el, ezek segítségével szeretnénk az ott dolgozó munkatársak számítógépeit hálózatba kötni. Tételezzük föl, hogy a jeladók erőssége a jeladótól vett távolsággal négyzetes arányban csökken, és a dolgozók számítógépe automatikusan ahhoz a jeladóhoz kapcsolódik, amelyiktől a legerősebb jelet érzékeli. Az egyszerűség kedvéért a terem mindig lefedhető 1 méter oldalhosszúságú négyzetekkel. A jeladók és a számítógépek mindegyike valamelyik így kapott mező belsejében van. Bármely két mező közötti távolságot úgy kapjuk meg, hogy megszámoljuk, legkevesebb hány mező érintésével lehet egyikből a másikba eljutni. Egy mező így önmagától 1 távolságra van. Az így kiszámított jelerősséget egész számra kerekítjük.
Például egy 43 négyzetméteres helyiségben, a (4;3) mezőben elhelyezett 90-es jelerősségű adó, az (1;1) mezőben levő 70-es jelerősségű adó, és az (1;3) mezőben levő 60-as jelerősségű adó esetén az alábbi ,,lefedettségi'' táblázatot kapjuk:

 
701810101818232360152390
 
Azaz a (4;3)-as mezőn belül a jelerősség 90, mivel a távolság itt 1 egység. A vele szomszédos mezőkben (mivel azok távolsága tőle 2 egység) a jelerősség 90122, ami kerekítve 23.
Készítsünk programot, amely tetszőleges, legfeljebb 25×25-ös teremre elkészíti a fenti táblázatot. A program a felhasználótól kérje be a terem méreteit, majd a három sugárzó koordinátáit és jelerősségeit. Az elkészült táblázatban minden szám egészre kerekítve, 3 karakter helyen jelenjen meg, és azt a program írja soronként a standard kimenetre.
Beküldendő a program forráskódja (i168.pas, i168.cpp, ...), a megoldás rövid dokumentációja (i168.txt, i168.pdf, ...) valamint a megoldáskor alkalmazott fordítóprogram neve és verziószáma (pl. Free Pascal 2.0, Borland C++ 3.1, ...).