Programozó versenyek

Magas szintű programozási nyelvek 2, 2017. május 30., K8 ZH

2017. május 30. 8:05 – 2017. május 30. 9:55

Mastermind (C#)

A Mastermind játékban a játékosnak egy adott hosszúságú színes golyósorozatot kell eltalálnia a lehető legkevesebb tippeléssel. Tippelnie mindig a teljes golyósorozatra kell, megadva egy színsorozatot, és minden tippje után segítségképpen elárulják neki, hogy hány színes golyónak találta el a helyét pontosan, illetve hogy hány olyan golyót tippelt, amely benne van ugyan a kitalálandó sorozatban, de nem azon a helyen, ahová ő azt tippelte.

Például ha a kitalálandó golyósorozat kék-zöld-piros-sárga színű, és a játékos a barna-zöld-kék-sárga sorozatot tippeli, akkor két golyónak pontosan eltalálja a helyét, egynek pedig a helyét nem, csak a színét. A tippje után ezeket az információkat közlik is a játékossal.

Az alapjátékot négy golyóval szokták játszani, de egyébként a játéknak számtalan variánsa létezik, amelyeket a golyósorozat hosszának a változtatásával kaphatunk meg.

Írjon programot, amely a standard bemenetről állományvégjelig (EOF) soronként beolvas két azonos hosszúságú, kizárólag az angol ábécé nagybetűit tartalmazó sztringet: az első a kitalálandó golyósorozat színeit jelző betűket tartalmazza, a második pedig a játékos tippjét erre a golyósorozatra. Feltételezheti, hogy az egyes színeket különböző betűkkel jelöljük. A programja minden sor esetén a Mastermind játék szabályai szerint két egész számot írjon ki a standard kimenetre: elsőként az azonos pozíciókon lévő, egyező színű golyók számát, utána pedig a kitalálandó sorozatban benne lévő, ám a tippben más pozíciókon található golyók számát! A két számot minden sorban pontosan egy szóköz karakter válassza el egymástól!

Példa bemenet

  1. KZPS BZKS
  2. ABCDEF ABCDEF
  3. FEDCBA ABCDEF
  4. ABCD AAAA
  5. ABCD XYAA
  6. XYAA ABCD
  7. AABBCC ABCABC
  8. CBACBA ABCABC
  9. ABCABC AACCBB
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 2 1
  2. 6 0
  3. 0 6
  4. 1 0
  5. 0 1
  6. 0 1
  7. 2 4
  8. 2 4
  9. 3 3
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.