問題
두 문자열을 합쳐 하나의 문자열을 만들고자 한다. 합칠 때는 각 문자열의 본래 순서를 유지한다고 한다.
예를 들어 아래 문자열 A와 문자열 B를 합쳐 C와 D를 만든다고 하자.
문자열 A : cat 문자열 B : tree 합친 문자열 C : tcraete 합친 문자열 D : catrtee 합친 문자열 E : cttaree
이 경우 문자열 C와 D는 가능하지만 문자열 E는 불가능하다. 문자열 E는 문자열 A의 순서를 유지한 상태로는 만들 수 없기 때문이다.
문자열 A B C 세 개를 입력받아 문자열 A와 문자열 B를 본래 순서를 유지한채로 합칠 때 문자열 C를 만들 수 있는지 알아보는 프로그램을 작성하시오.
入力
첫 행에 테스트 케이스의 수 N이 입력된다. ( 2 <= N <= 30)
다음 행부터 각 행에 문자열 A, B, C 3개가 공백으로 구분되어 주어진다.
문자열 A와 문자열 B의 길이는 200을 초과하지 않는다.
문자열 C의 길이는 문자열 A와 문자열 B의 길이의 합과 같다.
出力
각 테스트 케이스에 대하여 문자열 C를 만들 수 있으면 ‘yes’, 만들 수 없으면 ‘no’를 행으로 구분하여 출력한다.
例題
3
cat tree tcraete
cat tree catrtee
cat tree cttaree
yes
yes
no
出典
Pacific Northwest 2004, poj 2192