Gyöngyök
Piros és zöld törpék fekete és fehér üveggyöngyökböl álló nyakláncot találtak, aminek a végén egy gyémánt van. A törpék piros és zöld csapata is szeretné megszerezni a gyémántot, ezért egy játékot játszanak.
A törpéket 1-töl N-ig sorszámozzuk. Mindegyik törpéhez tartozik két, mindenki számára ismert lista (fehér, illetve fekete), amely tetszöleges törpék (akár piros, akár zöld) azonositóiból áll. A játékot a következöképpen játsszák:
A nyakláncot egymásnak adogatják a következö szabály szerint: Akinél a nyaklánc éppen van, leveszi az elsö gyöngyöt. Ha ez fehér, akkor a saját fehér listájából választ egy törpét, akinek átadja a nyakláncot, ha fekete, akkor pedig a fekete listájából választ. Az nyeri a játékot, akihez a végén az egyetlen gyémántot tartalmazó nyaklánc kerül.
Irj programot, amely a zöld törpék nevében játszik és nyer. Feltehetö, hogy a piros törpék számukra optimálisan játszanak.
Könyvtári eljárások
getNext() - akkor kell hivni, amikor egy piros törpe lép, annak a törpének a sorszámát adja értékül, akinek a átadja a nyakláncot.
setNext(d) – akkor kell hivni, amikor egy zöld törpe lép, paramétere annak a törpének a sorszáma, akinek átadja a nyakláncot.
finish() - a játék végén kell hivni, amivel a program befejezödik.
Kipróbálásra kapsz egy tesztkönyvtárt (perls_lib.h, illetve pearls_lib.pas). Ez úgy müködik, hogy minden piros törpe a listájában levö elsö törpének adja át a nyakláncot.
C/C++ esetén
Használd a #include “pearls_lib.h” direktivát:
int getNext();
void setNext(int d);
void finish();
Pascal esetén
Használd a uses pearls_lib utasitást:
function getNext: integer;
procedure setNext(d: integer);
procedure finish;
Bemenet
Elöször olvasd be a pearls.in állományt!
A pearls.in állomány elsö sorában a nyaklánc L hossza (1<=L<=1000), a törpék N száma (1<=N<=1000) és annak a törpének az F sorszáma (1<=F<=N) van, akinél a játék kezdetén van a nyaklánc.
A második sor L karaktert tartalmaz, a nyaklánc leirását: az elsö L-1 betü mindegyike B vagy W (a B jelenti a fekete, a W pedig a fehér szinü gyöngyöt). Az utolsó betü biztosan D, ami a gyémántot jelöli.
A következö N sor az egyes törpék listáit adja meg sorszámuk szerinti sorrendben. Minden sorban az elsö szám a törpe szine: zöld törpénél 0, piros törpénél 1. A második szám a törpe fekete listájának LB hossza (1<=LB<=20), amit pontosan LB törpesorszám követ, a fekete lista elemei. Ezután jön a törpe fehér listájának LW hossza (1<=LW<=20), majd pedig pontosan LW törpesorszám, a fehér lista elemei.
Kimenet
NINCS
Példa

pearls.in	eljáráshivások	
6 4 2
BWWBBD
0 1 2 1 4
0 2 1 3 1 1
1 1 4 1 4
1 2 2 3 1 1	SetNext(1)
setNext(4)
getNext() -> 1
setNext(2)
setNext(1)
finish()	
Pontozás
Ha nem hivod a finish() eljárást, vagy piros törpe lépésekor hivod a setNext(d) eljárást, vagy a d nem szerepel a megfelelö listában, vagy getNext()-et hivod zöld törpe esetén, akkor 0 pontot kapsz. Szintén 0 pontot kapsz, ha a játék végén piros törpéhez kerül a gyémánt. Csak akkor kapsz pontot, ha a játék végén zöld törpéhez kerül a gyémánt. Csak olyan teszt lesz, amelyben a zöldek nyerhetnek.