DDD'97 Opgave 1 GAME


Et spil

Der er givet følgende spil for to deltagere:

Spillepladen indeholder en række af positive heltal. De to spillere skiftes til at trække. Et træk består i at vælge et tal fra enten venstre eller højre ende af rækken. Det valgte tal fjernes fra spillepladen. Spillet er slut når alle tallene er fjernet. Den første spiller (dvs. den spiller der har det første træk) har vundet, hvis summen af de tal han har valgt, er mindst lige så stor som summen af modstanderens tal. Det forudsættes at modstanderen spiller optimalt.

Hvis spillepladen fra begyndelsen indeholder et lige antal tal, findes der en vindende strategi for den første spiller.

Programmet skal implementere en vindende strategi for den første spiller.

Modstanderens træk foretages af maskinen: Kommunikationen mellem spillerne foregår ved hjælp af de tre procedurer StartGame, MyMove og YourMove, som alle forefindes i unit'en play.tpu .

Programmet skal starte spillet ved at kalde den parameterløse procedure StartGame.

Procedurekaldet MyMove('L') betyder at første spiller vælger det venstre tal. Tilsvarende betyder MyMove('R') at første spiller vælger det højre tal.

Modstanderens træk foretages øjeblikkeligt af maskinen, og oplysning om hvilket træk det var, fås ved procedurekaldet YourMove(C), hvor C er en variabel af typen CHAR. Variablen C får herved værdien 'L' eller 'R', alt efter om modstanderen har valgt venstre eller højre tal.

Input data

Den første linje i filen INPUT.TXT indeholder længden N af spillepladen. N er et lige tal og 2£N£100 .

De følgende N linjer indeholder hver et tal. Disse tal er spillepladens start-indhold, regnet fra venstre mod højre. Hvert tal er højst 200.

Output data

Når spillet er slut, skal programmet skrive spillets resultat som en linje med to tal til filen OUTPUT.TXT . Det første tal angiver summen af tal valgt af den første spiller. Det andet tal angiver summen af tal valgt af modstanderen.

Programmet skal gennemføre et spil, og output skal svare til dette spil.

Eksempel på input og output

Den følgende figur viser en mulig input-fil og en tilsvarende output-fil.

INPUT.TXTOUTPUT.TXT
615 14
4
7
2
9
5
2