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

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

Multationer

면접 대비

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

요약
A, B, C로 이루어진 문자열 S와 T가 주어질 때, 한 글자의 모든 등장을 1~3글자 문자열로 바꾸는 multation을 최대 3번 사용해 S를 T로 만드는 최단 순서를 구한다.
난이도

보통10점 중 6점

유형
BFS, 문자열, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

På den ännu oupptäckta exoplaneten PO-2019 består invånarnas arvsmassa av en sträng, där varje bokstav är antingen A, B eller C. Livets utveckling har gått lite snabbare där än på  jorden (exempelvis kan alla lösa programmeringsproblem redan som nyfödda). Anledningen tros vara att istället för vanliga mutationer sker "multationer", som ändrar {\em alla} förekomster av en viss bokstav samtidigt. Bokstaven byts ut mot en sträng som kan innehålla 1, 2 eller 3 bokstäver (se figuren nedan). Detta gör att längden på arvsmassan kan öka ganska snabbt.

Skriv ett program som, givet två strängar SS och TT, skriver ut den kortaste sekvensen av multationer som ändrar SS till TT. Det kommer alltid att finnas en lösning med högst 33 multationer.

입력

På första raden står strängen SS. På andra raden står strängen TT. Ingen av strängarna innehåller mer än 1010 bokstäver och varje bokstav är antingen A, B eller C.

출력

Programmet ska skriva ut en rad för varje multation, i den ordningen de sker. Varje rad ska innehålla två strängar: bokstaven som ändras, och strängen som den ändras till.

Om det finns flera optimala sekvenser kan du ange vilken som helst av dem.

예제4

  1. 예제 1

    입력
    ABA
    CBC
    
    예상 출력
    A C
    
  2. 예제 2

    입력
    BC
    CACCAB
    
    예상 출력
    B A
    C CAB
    A CA
    
  3. 예제 3

    입력
    CAC
    CABCACAB
    
    예상 출력
    C AB
    A CA
    
  4. 예제 4

    입력
    AABAC
    AABBBBAC
    
    예상 출력
    B BB
    B BB