Programozó versenyek

Magas szintű programozási nyelvek 1, 2015. június 2., K14 ZH

2015. június 2. 14:00 – 2015. június 2. 17:45

A titokzatos üzenet

Írjon programot, amely titkosügynökök megfigyelései alapján megpróbál megfejteni egy titokzatos üzenetet! Az üzenet az angol ábécé betűiből és szóköz karakterekből áll. A titkosügynökök megfigyelései mindig pontosan olyan hosszúak, mint a megfejtendő üzenet. A megfigyelések az angol ábécé betűin és a szóköz karakteren kívül még a speciális jelentésű pont (.) karaktert is tartalmazhatják. Ha a megfigyelés i-edik karaktere a pont karakter, az azt jelenti, hogy a titkosügynök az üzenet i-edik karakterét nem ismeri, ha nem a pont, akkor pedig az üzenet i-edik karakterét adja meg.

A titkosügynökök megfigyelései egymásnak ellentmondóak is lehetnek, ezért a programjának a következőképpen kell előállítania a kimenetet:

  • ha az üzenet i-edik karakterére vonatkozóan nem voltak megfigyelések, akkor a kimenet i-edik karaktere a pont karakter lesz;
  • ha voltak megfigyelések, és azok nem tartalmaznak ellentmondást, akkor a kimenet i-edik karaktere a megfigyelt karakter lesz;
  • egyébként pedig a kimenetben az i-edik karakter helyén egy kérdőjel (?) karaktert kell szerepeltetni.

A bemenet első sora pontosan két darab pozitív egész számot tartalmaz, az első (N) a titkosügynökök (avagy az általuk tett megfigyelések) számát, a második (M) az üzenet hosszát adja meg. A következő N sor mindegyikében egy M karakter hosszúságú sztring található.

A programnak egyetlen sort kell a standard kimenetre írnia, amely az M karakter hosszúságú titokzatos üzenet megfejtését tartalmazza.

1. példa bemenet

  1. 3 13
  2. T.. a...J....
  3. ..m.an. .er..
  4. .om...d.J..ry
letöltés szöveges állományként

Az 1. példa bemenethez tartozó kimenet

  1. Tom and Jerry
letöltés szöveges állományként

2. példa bemenet

  1. 2 13
  2. T.. b...J..r.
  3. ..m.an. Jerp.
letöltés szöveges állományként

A 2. példa bemenethez tartozó kimenet

  1. T.m ?n. Jer?.
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.