좋은 단어

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

요약
A와 B로만 이루어진 단어에서 같은 글자끼리 호를 그어 짝지을 때 호가 교차하지 않도록 모두 짝지을 수 있으면 좋은 단어이다. 주어진 단어 중 좋은 단어의 수를 센다.
난이도

보통10점 중 5점

유형
스택, 문자열, 그리디, 구현
정답자
아직 제출이 없습니다

문제

이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려 꾸벅꾸벅 졸다가 제출 마감 1시간 전에야 깨고 말았다. 안타깝게도 자는 동안 키보드가 잘못 눌려서 보고서의 모든 글자가 A와 B로 바뀌어 버렸다! 그래서 평석이는 보고서 작성을 포기하고, 대신 보고서에서 '좋은 단어'의 개수나 세어 보기로 했다.

평석이는 단어 위에 아치 모양의 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 짝을 짓는다. 모든 글자를 서로 다른 위치에 있는 같은 글자와 정확히 하나씩 짝지을 수 있으면서 어떤 두 곡선도 서로 교차하지 않는다면, 그 단어는 '좋은 단어'이다. 평석이가 '좋은 단어'의 개수를 세는 것을 도와주자.

입력

첫째 줄에 단어의 수 NN 이 주어진다. (1≤N≤1001 \le N \le 100)

다음 NN 개의 줄에는 A와 B로만 이루어진 단어가 한 줄에 하나씩 주어진다. 각 단어의 길이는 22 이상 100 000100\,000 이하이며, 모든 단어의 길이의 합은 1 000 0001\,000\,000 을 넘지 않는다.

출력

첫째 줄에 좋은 단어의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    3
    ABAB
    AABB
    ABBA
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    AAA
    AA
    AB
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1
    ABBABB
    
    예상 출력
    1