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

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

색 수열 만들기

면접 대비

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

요약
각 카드를 앞면이나 뒷면 중 하나로 고르고 조커를 원하는 색으로 정해 목표 색줄을 행 안에서 순서대로 찾을 수 있는지 판단합니다.
난이도

보통10점 중 5점

유형
그리디, 투 포인터
정답자
아직 제출이 없습니다

문제

양면에 색이 칠해진 카드 100장이 한 벌을 이룬다. 색은 최대 26가지다. 카드 중에는 조커라고 부르는 특별한 카드도 있다. 조커는 양면에 조커 표시가 있고, 가능한 색 중 어떤 색으로도 쓸 수 있다. 여기서 다루는 것은 혼자 하는 카드 게임이며, 주어진 카드 줄에서 정해진 색 수열을 만들어 내는 것이 목표다.

게임을 시작하기 전에 길이가 100 이하인 색 수열 SS가 정해진다. SS에는 조커가 들어가지 않는다. 그다음 한 벌에서 카드를 몇 장 골라 한 줄로 늘어놓으면 위를 향한 면이 색의 줄을 이룬다. 플레이어는 줄에 놓인 카드를 하나씩 보면서 뒤집을지 말지 정한다. 카드를 뒤집으면 반대쪽 면의 색만 보인다. 조커가 줄에 섞여 있어도 된다.

이렇게 다 정하고 나면 보이는 면의 색이 최종 줄을 이룬다. 미리 정해진 색 수열 SS가 최종 줄에 왼쪽에서 오른쪽 순서로 들어 있으면 플레이어가 이기고, 그렇지 않으면 진다. SS를 맞출 때 줄에 있는 카드는 건너뛰어도 되지만 색의 앞뒤 순서는 지켜야 한다. 조커는 어떤 색으로든 쓸 수 있다. 예를 들어 (빨강, 파랑, 노랑)은 (초록, 조커, 파랑, 빨강, 노랑)에 들어 있고, (파랑, 초록, 파랑, 초록)은 (빨강, 파랑, 조커, 노랑, 조커, 파랑, 초록, 초록)에 들어 있다.

색 수열 SS와 한 벌에서 고른 카드 줄이 주어진다. 위를 향한 면의 색과 그 카드 반대쪽 면의 색을 모두 알 때, 플레이어가 이길 수 있는지 판단하라.

입력

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 형식은 다음과 같다.

  • 색 수열 SS를 나타내는 줄 하나. 'A'부터 'Z'까지의 문자로 이루어진 길이 mm (1≤m≤1001 \le m \le 100)의 문자열이고, 서로 다른 색은 서로 다른 문자에 대응한다. 예를 들어 BGBG는 파랑, 초록, 파랑, 초록을 뜻한다.
  • 한 벌에서 고른 카드 줄을 나타내는 두 줄. 각 줄은 'A'부터 'Z'까지의 문자와 *로 이루어진 길이 kk (1≤k≤1001 \le k \le 100)의 문자열이다. *는 조커를 뜻하고, 가능한 색 중 어떤 색으로도 쓸 수 있다.

두 줄 중 첫째 줄은 위를 향한 면의 색이고, 둘째 줄은 아래를 향한 면의 색이다. 즉 줄에서 ii번째 카드의 경우 첫째 줄의 ii번째 문자가 위를 향한 면, 둘째 줄의 ii번째 문자가 아래를 향한 면이다. 두 줄의 길이는 항상 같고, 한 줄에 *가 있으면 다른 줄의 같은 위치에도 항상 *가 있다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 플레이어가 카드를 알맞게 뒤집어 색 수열 SS를 만들 수 있으면 win을, 그렇지 못하면 lose를 출력한다.

예제1

  1. 예제 1

    입력
    3
    RBY
    B*RRB
    G*BRY
    BGBG
    RZ*Y*PGG
    AB*Y*BCB
    BAPC
    BUBCDAPVDAVVDLPF
    VLDCUSPGLSGPPVDD
    
    예상 출력
    win
    win
    lose