Labyrintkonstruktion | 프로그래밍의 벗 PivotOJ
PivotOJ

Labyrintkonstruktion

시간 제한: 3000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2017 — lagerBOJ 20898
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Låt oss definiera en labyrint på följande sätt:

  1. Labyrinten består av KK rum, där vissa par av rum är sammanbundna av korridorer.
  2. Det går att ta sig mellan alla par av rum om man går genom en sekvens av korridorer.
  3. Inget rum har en korridor till sig själv.
  4. Det kan finnas flera korridorer som kopplar samman samma par av rum.
  5. Varje korridor har en av tre färger: röd, grön eller blå.
  6. Varje rum har exakt tre korridorer, en av varje färg.
  7. Det finns ett rum som är labyrintens ingång, och ett rum som är labyrintens utgång (dessa är olika rum).

Systrarna Rosa och Lila spelar ett spel som går ut på att Rosa först konstruerar en labyrint, varpå Lila försöker klara av den genom att gå från ingången till utgången. De har spelat några gånger nu, och Lila lyckas alltid vinna. Detta gör Rosa ganska frustrerad. Hon vill att hennes syster ska fastna i labyrinten för alltid.

Rosa har dock märkt att Lila alltid använder samma förutsägbara strategi. Närmare bestämt har hon en sträng SS med längden LL, bestående av bokstäverna R, G och B (röd, grön och blå). I drag nummer ii tittar Lila på det ii:te tecknet, och följer korridoren med den färg som bokstaven representerar (om bokstaven är R kommer Lila alltså gå genom den röda korridoren i det rum hon befinner sig i just nu). Efter LL drag börjar hon om genom att titta på det första tecknet igen. Om strängen är RGB kommer hon med andra ord först gå genom den röda korridoren i ingången, sedan den gröna korridoren i rummet hon kom till, sedan den blå korridoren, den röda (nu har hon börjat läsa strängen från början igen), gröna, blå, röda, och så vidare. Notera att varje rum har exakt en korridor av varje färg, så det är unikt bestämt vilket rum hon går till i varje steg.

[이미지 1]

Figure 1: En exempellabyrint.

Din uppgift är att, givet SS, konstruera en labyrint som Lila aldrig kan klara av.

입력

Indatan innehåller strängen SS av längd minst 11 och högst 10000001\,000\,000.

I detta problem kan du dessutom ladda ner all indata här: labyrint.zip.

출력

Börja med att skriva ut tre heltal KK, ii, uu. KK ska vara antalet rum i labyrinten du konstruerar. ii och uu ska vara de noll-indexerade nummer (d.v.s mellan 00 och K1K - 1) på rummen som är ingången och utgången i labyrinten.

Skriv sedan ut KK rader, ett för varje rum. Den jj:te raden ska innehålla tre heltal rr, gg och bb -- de rum som den röda, gröna respektive blå korridoren i det jj:te rummet leder till.

Din labyrint måste uppfylla villkoren i problemlydelsen.

예제

예제 1

입력
RGB
출력
4 0 3
1 3 2
0 2 3
3 1 0
2 0 1
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.