Nemes Tihamér OKSzTV'99

Második forduló

9-10. osztályosok

1999. január 16. 900-1400


1. feladat: OKTV (13 pont) /tesztadatok/

Seholsincs ország informatikai OKTV-jén addig rendeznek új fordulókat, amíg vannak résztvevők, akiknek helyezése nem egyértelmű (holtversenyben vannak). Az újabb fordulókban csak ezeknek a résztvevőknek kötelező részt venniük, de az új pontszámuk csak a holtverseny eldöntésére használható. (Az utolsó forduló után biztosan nincs holtverseny.) Részt vehetnek olyanok is a további fordulókban, akik helyezése már eldőlt. Ez utóbbi résztvevők ugyanúgy kapnak pontot, mint a többiek, de már nem változtathatnak helyezésükön. Ha úgy döntenek, hogy nem vesznek részt az újabb fordulóban, 0 pontot kapnak rá.

Bemenet:

Az OKTV.BE állomány első sorában a versenyzők (1<=N<=1000) ls a fordulók (1<=M<=10) száma van, a következő M sorban pedig az egyes fordulók eredménye. Minden eredménysor pontosan N nemnegatív számot tartalmaz, egy-egy szóközzel elválasztva.
Feladat és kimenet:
Készíts programot, amely az OKTV.KI állományba és a képernyőre 1 sort ír, a versenyzők sorszámait helyezés szerinti sorrendben, egy-egy szóközzel elválasztva.
Példa:
OKTV.BE OKTV.KI
5 3
7 3 3 9 7
2 7 7 0 1
0 3 2 0 8
4 1 5 2 3


2. feladat: Család (24 pont) /tesztadatok/
Családi kapcsolatokat úgy adunk meg, hogy mindenkihez felsoroljuk az anyja, illetve az apa nevét.

Bemenet:

A CSALAD.BE állomány első sorában az ismert személyek száma (1<=N<=100) van. Ezután 3*N sorban jönnek az egyes emberek adatai: a neve, az apja neve és az anyja neve. Az utolsó sorban egyetlen ismert név szerepel, akinek valamilyen rokonaira kíváncsiak vagyunk. A nevek hossza legfeljebb 20 karakter.
Feladat és kimenet:
Készíts programot, amely a képernyőre és a CSALAD.KI állományba az alábbi 4 sort írja:
A. A keresett személy testvérei száma és neve, egy-egy szóközzel elválasztva.
B. A keresett személy féltestvérei száma és neve, egy-egy szóközzel elválasztva. (A testvérek nem féltestvérek!)
C. A keresett személy férfiági felmenőinek listája (apja, nagyapja, dédapja, ükapja, ... amíg ismert), egy-egy szóközzel elválasztva.
D. A keresett személy első unokatestvéreinek száma és neve (akikkel közös nagyszülője van az ismert személyek között), egy-egy szóközzel elválasztva.
Példa:
CSALAD.BE CSALAD.KI
7
Nagy Andrea
Nagy István
Kiss Anna
Nagy András
Nagy István
Kiss Anna
Nagy Erika
Nagy István
Szabó Éva
Nagy István
Nagy Péter
Kovács Eleonóra
Kiss Anna
Kiss Csaba
Takács Orsolya
Tóth Szilvia
Tóth Árpád
Takács Orsolya
Kovács Melinda
Kovács László
Tóth Szilvia
Nagy Andrea
1 Nagy András
1 Nagy Erika
2 Nagy István Nagy Péter
1 Kovács Melinda

3. feladat: Szójáték (18 pont) /tesztadatok/

A Cserebere logikai szójátékot egy szótár alapján játszhatjuk. A játék alapja: egy kiinduló szóból egy szósorozatot kell előállítani, amely csak a szótárban lévő szavakból állhat, s a sorozat egymást követő szavai egy elemi átalakítással kaphatók az őket megelőző szóból. Kétféle szabály alkalmazható átalakításra:
A. szabály: egy betű kicserélése egy másikra
B. szabály: egy betű kicserélése egy másikra vagy egy betű írása a szó végére.

Bemenet:

A SZOTAR.BE állomány első sorában a szótár szavainak száma (1<=N<=1000), a további N sorban pedig egy-egy, a szótárban szereplő szó van. A szavak legfeljebb 20 karakterből állnak. A JATEK.BE állomány első sorában az alkalmazandó szabály betűjele (A vagy B), a második és harmadik sorában pedig két különböző, a szótárban szerplő szó (P és Q) van.
Feladat és kimenet:
Készíts programot, amely a képernyőre és a JATEK.KI állományba írja soronkét az alábbiakat.
1. Az első sorba az IGEN szó kerüljön, ha a P szóból előállítható a Q szó a megadott szabály szerinti szósorozat előállítással, egyébként a NEM szót kell írni. Ha előállítható, akkor az IGEN szótól egy szóközzel elválasztva szerepeljen a legkisebb szabályalkalmazás szám, amivel a Q a P-ből előállítható.
2, A második sorba a P szóból a szabály szerint (nem feltétlenül egyetlen sorozatban) előállítható összes szót kell írni.
Példa:
SZOTAR.BE JATEK.BE JATEK.KI
7
OKOS
ÁKOS
ÁKOM
OKOD
ÁLOM
ALOM
HALOM
A
OKOS
ÁLOM
IGEN 3
OKOS ÁKOS ÁKOM ÁLOM ALOM OKOD


4. feladat: Kockák (20 pont) /tesztadatok/
Építőkockákból úgy lehet stabil tornyot építeni, hogy kisebb kockára nem lehet nagyobbat, illetve könnyebb kockára nem lehet nehezebbet tenni.

Feladat:

Készíts programot, amely N kocka alapján megadja a belőlük építhető legmagasabb tornyot!
Bemenet:
A KOCKA.BE állomány első sorában a kockák (1<=N<=1000) száma van, a további N sorban pedig az egyes kockák oldalhossza és súlya (mindkettő 20000-nél kisebb pozitív egész szám), egyetlen szóközzel elválasztva.
Kimenet:
A KOCKA.KI állomány és a képernyő első sorába a legmagasabb torony M kockaszámát kell írni, a következő M sorba pedig az építés szerint alulról felfelé sorrendben a felhasznált kockák oldalhosszát és súlyát.


Példa:

KOCKA.BE KOCKA.KI
5
10 3
20 5
15 6
15 1
10 2
3
20 5
10 3
10 2


Elérhető összpontszám: 75 pont + 25 pont az 1. fordulóból