Egy játékban varázslók lehetünk és elemeket idézhetünk meg. Nyolc alapvető elem létezik, ezeket a következő karakterek jelölik: {Q,W,E,R,A,S,D,F}. Amikor megidézünk egy elemet, az felkerül az elemeinket tartalmazó lista végére. Például ha először az A, majd utána a W elemet idézzük meg, akkor listánk így néz ki: [A,W]. Bizonyos alapvető elemek össze tudnak kombinálódni, és így új elemek keletkezhetnek. Ezek az új elemek különböznek az alapvető elemektől, és az angol ábécé további 18 betűjével jelöljük őket. Például egy Q és egy F összekombinálódhat és így létrejöhet például egy T. Ez csak akkor következik be, ha a két kombinálódásra képes elem a lista végén, egymás mellett jelent meg. Ilyenkor rögtön törlődnek a listáról, és az általuk létrehozott új elem kerül a helyükre, a lista végén. Az előző példát folytatva, ha az elemek listája [A,Q,F] vagy [A,F,Q], akkor rögtön átalakul, és [A,T] lesz belőle. Vannak olyan alapvető elemek is, amelyek ellentétesek. Ha egy elemet megidéztünk, és nem kombinálódott össze új elemmé, de a lista valamelyik korábbi elemével ellentétes, akkor a teljes lista törlődik. Például ha Q és F T-vé kombinálódik, továbbá R és F ellentétes, akkor a következők történhetnek:
FeladatÍrjunk programot, ami a megidézett elemek ismeretében megadja, hogy végül mi maradt az elem-listában!
BemenetA bemenet első sora a tesztesetek T számát adja meg (1 ≤ T ≤ 100), ezután T sorban egy-egy teszteset következik. Minden teszteset egyetlen, szóközökkel tagolt sor, ami a következő módon épül fel:
KimenetMinden tesztesethez írjuk ki a végül megmaradó elem-listát, a példának megfelelő formátumban.
Példa
TesztadatokCímkékA feladat forrása: Google Code Jam 2011 Qualification Round (link)
Algoritmusok: listakezelés, karakterláncok lexikális elemzése
|
Programozás > Feladatok >