Syntax Included

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

요약
주어진 문법에 따라 HTML 형태의 문자열을 파싱해 문법적으로 올바른지 판정한다.
난이도

보통10점 중 7점

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

문제

당신은 첫 웹사이트를 만들면서 사소한 HTML 문법 오류를 자주 냅니다. 이를 잡아내기 위해, 아래의 축약된 HTML 정의에 따라 주어진 HTML 코드가 문법적으로 올바른지 판별하는 HTML 파서를 작성하기로 했습니다:

HTMLCODE<HTML>BODY</HTML>
BODY<BODY>TEXT</BODY>
TEXTSTRING | STRING TEXT | TAG | TAG TEXT
STRING<와 >를 제외한 출력 가능 문자로 이루어진 (빈 문자열도 허용) 문자열
TAGBOLD | ITALICS | LINK
BOLD<B>TEXT</B>
ITALICS<I>TEXT</I>
LINK<A HREF=URL>TEXT</A>
URLhttp://STRING.com

입력

첫 번째 줄에 데이터 집합의 개수를 나타내는 정수 nn이 주어집니다.

이어지는 nn개의 줄에는 각각 하나의 데이터 집합이 주어지며, 각 데이터 집합의 길이는 최대 1000자입니다. 데이터 집합 안에는 공백이 어디에나 포함될 수 있습니다.

모든 태그는 대소문자를 구분합니다.

출력

각 데이터 집합마다 한 줄을 출력합니다.

코드가 문법적으로 올바르면 다음을 출력합니다:

Syntax Included

그렇지 않으면 다음을 출력합니다:

No Syntax Included

예제3

  1. 예제 1

    입력
    3
    <HTML><BODY><B>Hello world!</B></BODY></HTML>
    <HTML><BODY><B>Is this correct?</B></HTML>
    <HTML><BODY><A HREF=http://www.go.com>link</A></BODY></HTML>
    
    예상 출력
    Syntax Included
    No Syntax Included
    Syntax Included
    
  2. 예제 2

    입력
    1
    <HTML><BODY></BODY></HTML>
    
    예상 출력
    Syntax Included
    
  3. 예제 3

    입력
    1
    <HTML><BODY><B><I>hi</I></B></BODY></HTML>
    
    예상 출력
    Syntax Included