Polygon er et spil for én spiller.
Det starter med en polygon med N hjørner, fx. som på
figur 1, hvor N=4. Kanterne er nummereret fra 1 til
N. Desuden er hvert hjørne mærket med et heltal og
hver kant er mærket med en af regneoperationerne +
(addition) og * (multiplikation)
I det første træk fjernes en kant. Hvert af de følgende træk består af følgende:
Eksempel på et spil Betragt polygonen på figur 1. Spilleren valgte at starte med at fjerne kant nummer 3. Virkningen ses på figur 2. Herefter valgte spilleren kant nummer 1, så kant nummer 4, og endelig kant nummer 2. Resultatet af spillet er 0. |
Figur 1. Grafisk repræsentation af en polygon |
Figur 2. Kant nummer 3 er fjernet |
Figur 3. Kant nummer 1 er valgt |
Figur 4. Kant nummer 4 er valgt |
Figur 5. Kant nummer 2 er valgt |
Opgave
Skriv et program som, givet en polygon, beregner det størst mulige resultat og opregner alle de kanter, som kan være første træk i et spil der fører til dette resultat. Input data Filen POLYGON.IN beskriver en polygon med N hjørner. Filen består af to linjer. Den første linje indeholder tallet N. Den anden linje indeholder regneoperationerne som er skrevet på kanterne 1,…,N , adskilt af tallene på hjørnerne (først tallet på hjørnet mellem kant 1 og kant 2, så det mellem kant 2 og 3, osv. indtil hjørnet mellem kanterne N og 1), alle elementer separeret af ét mellemrum. Regneoperationerne på kanterne repræsenteres ved enten bogstavet t (som repræsenterer +) eller bogstavet x (som repræsenterer *). Eksempel på input 4
Denne inputfil beskriver polygonen i figur 1. Filens anden linje starter med regneoperationen på kant nummer 1. |
Output data
Den første linje skal indeholde det største resultat man kan opnå for input-polygonen. Den anden linje skal indeholde alle de alle de kanter, som kan være første træk i et spil der fører til dette resultat. Kanterne skal stå i voksende rækkefølge, adskilt af ét mellemrum. Eksempel på output 33
Dette er den korrekte outputfil til figur 1.
Begrænsninger 3 £ N £ 50 For enhver serie af træk vil hjørnetallene ligge i intervallet [-32768,32767]. |