Programozó versenyek

Magas szintű programozási nyelvek 2, 2016. április 5., K18 ZH

2016. április 5. 18:10 – 2016. április 5. 19:50

Magánhangzó vagy páratlan szám (C#)

Egy kártyapakli lapjainak egyik oldalán az angol ábécé nagybetűi, a másikon egész számok szerepelnek, minden kártyalapon egy betű és egy szám olvasható. Valaki erre a kártyapaklira a következő állítást teszi:

Ha egy kártyalap betűs oldalán magánhangzó látható, akkor a számos oldalán páros szám áll.

Hogy eldönthessük, hogy igaz-e vagy hamis ez az állítás, ahhoz nyilván meg kell nézni bizonyos kártyák túlsó oldalát is.

Az ön feladata, hogy írjon egy olyan programot, amely a kártyalapok egyik oldalán található adatokat beolvasva meghatározza, majd a standard kimenetre írja azt, hogy a beolvasott lapok közül a legrosszabb esetben mennyit kell minimálisan megfordítani ahhoz, hogy egyértelműen és minden kétséget kizáróan el lehessen dönteni azt, hogy igaz-e a kártyapakli minden lapjára a fenti állítás!

A bemenet több tesztesetet tartalmaz. Egy teszteset minden sora vagy az angol ábécé egy nagybetűjét, vagy egy egész számot tartalmaz. A teszteseteket egy olyan sor zárja, amely az „END” sztringet tartalmazza. Feltételezhető, hogy minden tesztesetben szerepel legalább egy kártyát leíró sor.

A programjának minden tesztesetre egyetlen számot kell a standard kimenetre írnia: a minimálisan megfordítandó kártyalapok számát.

Példa bemenet

  1. E
  2. K
  3. 4
  4. 7
  5. END
  6. -1
  7. END
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 2
  2. 1
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.