포럼
문제 USACO0056

오타

설명

베시(Bessie)는 방금 새 노트북을 샀지만, 작은 키보드에 비해 발굽이 너무 커서 타자를 잘 치지 못한다는 것을 깨달았다. 베시는 방금 자신이 가장 좋아하는 패턴인 균형 잡힌 괄호 문자열을 입력해 보았다. 그런데 문자 하나를 잘못 입력하여 (를 )로, 또는 그 반대로 바꿔 버렸을지도 모른다는 것을 깨달았다. 문자열에서 그 위치의 괄호 하나를 반대로 바꾸면 전체 문자열이 균형 잡히게 되는 위치의 수를 계산하는 것을 베시에게 도와주자.

괄호 문자열이 "균형 잡혔다"는 것은 (의 개수와 )의 개수가 같고, 문자열의 어떤 접두사에서도 (의 개수가 )의 개수 이상인 것을 말한다.

제약
입력 형식

첫째 줄: 길이 N (1 <= N <= 100,000)의 괄호 문자열.

출력 형식

입력 문자열에서 그 한 위치의 괄호를 반대로 바꾸면 전체 문자열이 균형 잡히게 되는 위치의 수 (없으면 0).

Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일 typo.in · 출력을 쓸 파일 typo.out
예제 1
입력
()(())))
출력
4
설명

Output details: Reversing the parenthesis at position 2, 5, 6, or 7 results in a balanced string.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2012-2013 > November > Bronze

태그

평가 및 의견

Typo

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Typo

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
파일 입출력 (typo.in / typo.out — classic USACO interface; off = stdin/stdout)
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8