Hide

Problem G
Interaktiv 3-i-rad

Languages en sv

Mårten är extremt duktig på 3-i-rad. Så duktig att du aldrig lyckas slå honom! Skriv ett datorprogram som spelar 3-i-rad åt dig, så du kanske har en chans.

Om du inte vet vad 3-i-rad är, kan du läsa om hur spelet fungerar på Wikipedia.

Interaktivitet

Detta problem är interaktivt. Du ska först läsa en rad som innehåller antingen first eller second – detta säger om du ska dra först eller inte.

Varje gång du ska dra ska du läsa in ett 3-i-rad-bräde med draget Mårten gjorde (eller ett blankt bräde för det allra första draget), och sedan skriva ut ett 3-i-rad-bräde med draget du gjorde.

Om du skriver ut ett bräde där du vinner eller spelar oavgjort ska ditt program avslutas. Om du läser in ett bräde där Mårten vunnit eller spelat oavgjort ska ditt program avslutas.

Ett bräde ska skrivas ut och läsas in som 3 rader med 3 tecken vardera – antingen . för tom ruta, o för Mårtens pjäser, eller x för dina pjäser (obs: små bokstäver).

Poängsättning

Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.

Grupp

Poängvärde

Begränsningar

$1$

$20$

Du ska spela ett giltigt spel.

$2$

$25$

Du ska aldrig förlora ett spel.

$3$

$30$

Du ska alltid vinna ett spel om det går.

$4$

$25$

Du ska aldrig förlora ett spel, och du ska alltid vinna ett spel om det går.

Read Sample Interaction 1 Write
 first
 ...
 ...
 ...
 ...
 .x.
 ...
 .o.
 .x.
 ...
 xo.
 .x.
 ...
 xo.
 .x.
 ..o
 xo.
 .x.
 x.o
 xo.
 ox.
 x.o
 xox
 ox.
 x.o
Read Sample Interaction 2 Write
 second
 xo.
 xoo
 o.x
 xo.
 xoo
 oxx
 xox
 xoo
 oxx