출력 형식이 잘못되었습니다

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

요약
대소문자, 특수 기호 주변 공백, 괄호 종류, 쉼표와 세미콜론의 차이를 없앤 뒤 두 문자열이 같은지 판정한다.
난이도

보통10점 중 4점

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

문제

두 문자열이 '출력 형식'(체재)의 차이를 감안했을 때 같은 문자열인지, 아니면 근본적으로 서로 다른 문자열인지를 판정하는 프로그램을 작성한다.

입력되는 문자열은 다음 문자들로만 이루어져 있다.

  • 대문자 또는 소문자 영문 알파벳
  • 숫자
  • 공백 (탭이 아닌 스페이스)
  • 특수 부호

특수 부호는 다음과 같다.

( ) [ ] { } . , ; :

두 문자열이 '출력 형식만 다른' 같은 문자열인지는 아래 규칙에 따라 판정한다.

  • 알파벳 대문자와 소문자는 구별하지 않는다.
  • 연속된 공백의 개수(크기)는 상관없다. 다만 한 문자열에는 공백이 있고 다른 문자열에는 없는 경우, 즉 공백의 유무 차이 자체는 서로 다른 것으로 본다.
  • 문자열의 맨 앞이나 맨 뒤에 오는 공백은 있든 없든 상관없다.
  • 특수 부호의 바로 앞이나 바로 뒤에 오는 공백도 있든 없든 상관없다.
  • 여는 괄호끼리((, [, {)는 서로 구별하지 않는다.
  • 닫는 괄호끼리(), ], })는 서로 구별하지 않는다.
  • 쉼표 ,와 세미콜론 ;은 서로 구별하지 않는다.

입력

첫 줄에 테스트 케이스의 수 KK가 주어진다.

이후 각 테스트 케이스마다 두 줄에 걸쳐 문자열 s1s_1과 문자열 s2s_2가 주어진다.

각 문자열의 길이는 10001000 이하이며, 문자열 안에는 개행 문자가 포함되지 않는다.

출력

각 테스트 케이스마다 먼저 Data Set K: 를 출력한다. 여기서 KK는 1부터 시작하는 테스트 케이스 번호이다.

이어서 두 문자열이 출력 형식을 감안했을 때 같은 문자열이면 equal을, 출력 형식을 아무리 조정해도 서로 다른 문자열이면 not equal을 출력한다.

각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.

예제4

  1. 예제 1

    입력
    3
    ( 1, 4 ) (2,3) (2,4)
    { 1; 4 )   {2;3)  {2;4)
    Data Set 1: equal
    data   set 1 :  EQUAL
    Data Set 1: equal
    DataSet 1: equal
    
    예상 출력
    Data Set 1: equal
    
    Data Set 2: equal
    
    Data Set 3: not equal
    
  2. 예제 2

    입력
    4
    [1]
    {1)
    a,b
    a;b
    HELLO
    hello
    a b
    ab
    
    예상 출력
    Data Set 1: equal
    
    Data Set 2: equal
    
    Data Set 3: equal
    
    Data Set 4: not equal
    
  3. 예제 3

    입력
    3
      hi there  
    hi there
    ( a , b )
    (a,b)
    1 :  2
    1:2
    
    예상 출력
    Data Set 1: equal
    
    Data Set 2: equal
    
    Data Set 3: equal
    
  4. 예제 4

    입력
    3
    a b
    a  b
    a( )b
    a()b
    a . b
    a.b
    
    예상 출력
    Data Set 1: equal
    
    Data Set 2: equal
    
    Data Set 3: equal