괄호 문자열 이어 붙이기
시간 제한2초메모리 제한128 MB
괄호 문자열들을 이어 붙일 순서를 정해 올바른 괄호 문자열을 만들 수 있는지 판정합니다.
문제
(와 )로만 이루어진 문자열 개 이 주어진다. 이 개의 문자열을 어떤 순서로 나열해 모두 이어 붙였을 때 올바른 괄호 문자열이 되게 만들 수 있는지 판별하라. 문자열의 순서만 바꿀 수 있고, 각 문자열 내부는 그대로 둔다.
올바른 괄호 문자열은 다음과 같이 정의한다.
- 빈 문자열은 올바른 괄호 문자열이다.
- 와 가 올바른 괄호 문자열이면 와 를 이어 붙인 문자열도 올바른 괄호 문자열이다.
- 가 올바른 괄호 문자열이면 를 괄호 한 쌍으로 감싼 문자열도 올바른 괄호 문자열이다.
- 그 밖의 문자열은 올바른 괄호 문자열이 아니다.
예를 들어 ()()와 (())는 올바른 괄호 문자열이고, ())와 ((()는 올바른 괄호 문자열이 아니다.
입력
첫째 줄에 문자열의 개수 ()이 주어진다. 이어지는 개의 줄에 문자열 ()가 한 줄에 하나씩 주어진다. 의 모든 문자는 ( 또는 )이다.
출력
올바른 괄호 문자열을 만들 수 있으면 첫째 줄에 Yes를, 만들 수 없으면 No를 출력한다. 따옴표는 출력하지 않는다.