Programozó versenyek

ACM ICPC Central European Regional Contest, Prague, 2007, 2011, Practice Session

2011. november 29. 18:45 – 2012. február 1. 0:00

Szoftverhibák

Minden szoftverfejlesztő legnagyobb rémálma a szoftverhiba (bug). Biztos ismerős az a szituáció, amikor egy felhasználó felhív, és azt mondja: „Találtam egy hibát a programodban.” Amint pedig megtalálod és kiküszöbölöd a hibát, azonnal egy újabb üti fel a fejét. Ez egy nehéz és soha véget nem érő folyamat.

Nemrég egy ígéretes nyílt forrású kezdeményezés tűnt fel, amelyet hiba-előfeldolgozónak (bug-preprocessor) hívnak. Ez egy olyan program, amely képes felkutatni és megjelölni a forráskódban található összes hibát, amelyeket ezután már viszonylag könnyű eltávolítani. A feladatod, hogy írj egy programot, amely eltávolítja egy előfeldolgozott forráskódból az összes megjelölt hibát.

A bemenet specifikációja

A bemenet egy szöveget tartalmaz, amely az előfeldolgozott forráskódot reprezentálja. Ez tetszőleges számú sort jelent, amelyek között üresek is lehetnek. A hibákat a csupa nagybetűvel írt „BUG” sztringek jelölik. A szöveget a fájl vége (EOF) zárja. A bemenet egyik sora sem lesz hosszabb 100 karakternél.

A kimenet specifikációja

A programodnak a bemeneten található összes hibát el kell távolítania, és a kimenetre kell írnia azt a szöveget, amely nem tartalmaz egyetlen BUG sztringet sem. A hibákon kívül semmi mást nem szabad eltávolítani, még a szóközöket sem.

Példa bemenet

  1. print "No bugs here..."
  2.             
  3. void hello() {
  4. BUGBUG
  5.     printfBUG("Hello, world!\n");
  6. }
  7.             
  8. wriBUGBUGtelBUGn("Hello B-U-G");
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. print "No bugs here..."
  2.             
  3. void hello() {
  4.     printf("Hello, world!\n");
  5. }
  6.             
  7. writeln("Hello B-U-G");
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.