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. 678. feladat (2025. november)

I. 678. Egy elektronikus reklámokkal foglalkozó cég címlistájában egyéni e-mail címek és csoportok e-mail címei szerepelnek. Minden csoportban van legalább egy másik csoport vagy egy személy e-mail címe. Egy e-mail cím többször is előfordulhat úgy, hogy több csoportnak is tagja az adott személy vagy csoport.

A címlistát egy szöveges állományban tárolja a cég. Az állomány minden sora egy e-mail címmel kezdődik. Ha csak ez a cím áll a sorban, akkor az egy egyéni e-mail cím. Ha a cím után további címek következnek, akkor az azt jelöli, hogy a sor első címe egy csoport e-mail címe, a csoport tagjainak e-mail címei a sorban utána következnek. A címeket egy-egy szóköz választja el egymástól.

Példaként tekintsük a következő címlistát:

felso@alma.hu peter@alma.hu zsolt.kovacs@alma.hu
also@alma.hu andras.kovacs@bp.hu felso@alma.hu peter@alma.hu
kozepso@alma.hu peter@alma.hu also@korte.hu nagy.balint@bp.hu
balazs.kiss@alma.hu
also@korte.hu jozsef.kiss@korte.hu jozsef.nagy@bp.hu
felso@korte.hu kiss.jeno@bp.hu kozep@korte.hu
kozep@korte.hu nagy.balint@bp.hu felso@korte.hu

A címekben csak az angol ábécé kisbetűi, valamint a pont és @ jel szerepelnek. Előfordul, hogy egy egyedi név megjelenik a címlistában egy külön sorban, de előfordul az is, hogy csak valamely csoport tagjaként szerepel.

A cég úgy dönt, hogy meghívja a címlistán szereplő személyek egy részét egy találkozóra. Ehhez egy e-mailt küldenek ki, amelyben megadják a címzetteket. A címlista alapján azonban elég nehéz megmondani, hogy valójában hány személy fogja megkapni a levelet. Segítsünk a cégnek, és állapítsuk meg a címzett személyek számát.

Készítsünk programot, amely a címlista és a küldendő e-mail címzettjeinek felhasználásával megadja, hogy a levél hány személynek szól. A program olvassa be a – honlapunkról letölthető – mellékelt cimlista.txt állományt, majd a standard bemeneten megadott címzetteket, és írja ki a standard kimenetre a címzett személyek számát.

Példa, amelyben a címlista a fenti példában lévő lista:

Bemenet: Kimenet
felso@korte.hu kozepso@alma.hu 5

A programnak tetszőleges, legföljebb 100 sort tartalmazó címlista állomány mellett is működnie kell. A címlista állomány egy sorában legföljebb 30 cím szerepel.

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

Letölthető állomány: cimlista.txt

(10 pont)

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


Mintamegoldásként Borsos Benedek 9. osztályos debreceni tanuló C++ nyelven írt megoldását (i678.cpp), Krajcsovszki László 12. évfolyamos kecskeméti versenyző C# nyelvű megoldását (i678.cs) és Bortnyik Zétény 9. évfolyamos miskolci tanuló Python nyelvű munkáját (I678.py) adjuk közre.


Statisztika:

12 dolgozat érkezett.
10 pontot kapott:Borsos Benedek, Bortnyik Zétény, Dely Bendegúz, Krajcsovszki László, Tóth Marcell Domonkos.
9 pontot kapott:Bárczy Huba István, Sárközi Ármin, Szekeres Linda.
8 pontot kapott:1 versenyző.
7 pontot kapott:1 versenyző.
6 pontot kapott:1 versenyző.

A KöMaL 2025. novemberi informatika feladatai