Programozó versenyek

Magas szintű programozási nyelvek 1, 2015. május 26., K14 ZH

2015. május 26. 14:20 – 2015. május 26. 17:50

Baktériumtenyészet

Írjon programot, amely a standard bemenetről állományvégjelig baktériumtenyészetek viselkedési adatait olvassa be soronként, összesen legfeljebb 20 sornyit! Egy sor felépítése a következő:

baktériumtenyészet_azonosító/duplázódások

A baktériumtenyészet_azonosító egy legfeljebb 10 karakter hosszú, csak angol betűket, számjegyeket és kötőjelet (mínuszjelet) tartalmazó egyedi sztring. A duplázódások egy pontosan 14 karakter hosszúságú, kizárólag 0 és 1 karakterekből álló sztring, ahol az i-edik helyen álló karakter azt jelzi, hogy a tenyészet vizsgálatának az i-edik napján megduplázódott-e a populációszám az előző megfigyeléshez képest vagy sem: 1-es érték esetén igen, 0-s esetén nem történt duplázódás az adott napon. A baktériumtenyészet-azonosítótól a duplázódások adatait a sorban egy-egy osztásjel (perjel) karakter választja el egymástól.

A program a baktériumtenyészetek adatait a duplázódások száma szerint rendezze csökkenő sorrendbe, előre állítva azoknak a baktériumtenyészeteknek az azonosítóit, amelyek a legnagyobb növekedést produkálták! Ha több olyan baktériumtenyészet is lenne, amely egyformán nagy növekedést produkálna, akkor őket az azonosítójuk szerint lexikografikusan növekvő sorrendbe tegye a program, majd végül írja a standard kimenetre azon baktériumtenyészet-azonosítók ily módon rendezett listáját, amelyek legalább 7-szer megduplázódtak a megfigyelés 14 napja alatt, valamint azt is, hogy mekkora a populáció mérete, ha a 0. napon minden populációban egyetlen baktérium volt!

Példa bemenet

  1. BAK2013/10101010101010
  2. BAK2014/01000100000100
  3. BAK2015/11111111000000
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. BAK2015 256
  2. BAK2013 128
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.