아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Miniröj

시간 제한3초메모리 제한1024 MB

요약
2xN 지뢰찾기 판의 아랫줄이 주어질 때, 윗줄 각 칸이 지뢰가 없는 칸인지, 반드시 지뢰인지, 아니면 정해지지 않았는지 판정하고, 가능한 배치가 없으면 fel을 출력한다.
난이도

보통10점 중 6점

유형
동적 계획법, 구현
정답자
아직 제출이 없습니다

문제

De flesta som suttit vid en dator utan internet-uppkoppling har antagligen testat på att spela Minröj. Minröj spelas på en rektangulär spelplan med RxC stycken celler vars innehåll från början är okänt. Spelaren kan sedan klicka på cellerna för att se dess innehåll. I ett antal celler har minor placerats ut och klickar spelaren på en sådan så är spelet över. I varje cell utan mina finns istället en siffra som talar om hur många minor det finns i cellerna runtom, dvs i de celler med vilka den delar en sida eller ett hörn. Tanken är att dessa siffror ska användas för att lista ut var minorna finns och på så sätt undvika dem.

Rudolf har bestämt sig för att bli en professionell Minröj-spelare. Han har dock inte spelat det förut och tänker därför testa en lättare version, Miniröj, som spelas på ett spelbräde av storlek 2xN. Han har dessutom laddat ner MinesweeperHaXX3000, som genom att utnyttja en mystisk bugg kan avslöja innehållet i alla celler på den nedre halvan av spelplanen. Rudolf känner sig dock inte helt säker ändå, och ber dig att skriva ett program som givet den informationen han fått kan avgöra vilka celler som är säkra att klicka på.

입력

På den första och enda raden finns en sträng av längd NN. Denna beskriver spelplanens nedre halva, och varje tecken är antingen ett 'X', vilket innebär en mina, eller ett heltal dd, 0≤d≤50 \leq d \leq 5, som beskriver att det finns dd minor i närheten av rutan.

출력

Om det inte finns någon giltig spelplan som är kompatibel med indata ska programmet skriva ut 'fel' på en rad (notera små bokstäver). Skriv annars ut en sträng med NN tecken - 'S', 'O' eller 'X' - beskrivande cellerna på den övre halvan av spelplanen. En cell beskrivs med 'S' om cellen inte kan innehålla en mina, 'X' om cellen helt säkert innehåller en mina och 'O' (ett stort 'o') om cellen skulle kunna innehålla en mina men inte behöver göra det. Det sista alternativet innebär att det finns minst en giltig spelplan där cellen innehåller en mina och minst en giltig spelplan där cellen inte gör det, se bilderna för närmare förklaring.

제한

  • 1≤N≤500001 \leq N \leq 50 000

힌트

En illustration av en möjlig lösning för det första exempeltestfallet.

En illustration av den andra möjliga lösningen för det första exempeltestfallet.

예제4

  1. 예제 1

    입력
    11111
    
    예상 출력
    OOSOO
    
  2. 예제 2

    입력
    121
    
    예상 출력
    XSX
    
  3. 예제 3

    입력
    2211
    
    예상 출력
    fel
    
  4. 예제 4

    입력
    2X4XX32
    
    예상 출력
    OOOOSXX