Logo
(追記) (追記ここまで)

34031번 - 하이터치☆메모리

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)28914110248.341%

문제

()만으로 이루어진 문자열을 괄호 문자열이라 한다. 그 중에서도 올바른 괄호 문자열은 다음과 같이 정의된다.

  1. 빈 문자열은 올바른 괄호 문자열이다.
  2. 문자열 $S$가 올바른 괄호 문자열일 때, $S$를 ()로 감싼 문자열 $(S)$도 올바른 괄호 문자열이다.
  3. 문자열 $S$와 $T$가 올바른 괄호 문자열일 때, 이 두 문자열을 이어붙인 문자열 $S+T$도 올바른 괄호 문자열이다.

올바른 괄호 문자열의 예시로는 ()()(), (()), ()(())()()이 있다.

문자열 $S$의 접두사는 $S$의 첫번째 원소를 포함하는 $S$의 부분 문자열을 의미한다. abcd의 접두사로는 a, ab, abc, abcd가 있다. 빈 문자열은 접두사가 될 수 없음에 유의하라.

두 괄호 문자열 $A,ドル $B$에 대해, $A$의 길이 $i,円(1\leq i\leq |A|)$의 접두사를 $a_i,ドル $B$의 길이 $j,円(1\leq j\leq |B|)$의 접두사를 $b_j$라 할 때 $a_i$와 $b_j$를 이어붙인 문자열 $a_i+b_j$가 올바른 괄호 문자열인 순서쌍 $(i,j)$를 하이터치☆메모리라고 한다. 하이터치☆메모리의 개수를 구해보자.

입력

첫째 줄에 괄호 문자열 $A$가 주어진다.

둘째 줄에 괄호 문자열 $B$가 주어진다.

출력

첫째 줄에 하이터치☆메모리의 개수를 출력한다.

제한

  • 1ドル\leq |A|\leq 200,円 000$
  • 1ドル\leq |B|\leq 200,円 000$

예제 입력 1

(()
))(

예제 출력 1

3

예제 입력 2

()()
()(())

예제 출력 2

4

힌트

정답이 32비트 정수 범위를 넘을 수 있으므로, C/C++에서는 long long, Java에서는 long과 같은 자료형을 사용하는 것을 권장한다.

출처

School > 선린인터넷고등학교 > 천하제일 코딩대회 > 제9회 천하제일 코딩대회 예선 E번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /