RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
KOI00094

가위바위보

Gold IV 골드 IV
난이도
2s
시간 제한
256MB
메모리 제한
1
맞았습니다!!
1
제출 수
100.0%
정답률
레이팅

의견: 0

설명

\(1\)번부터 \(N\)번까지 번호가 부여된 \(N\)명의 사람이 일렬로 서 있다. \(i\) (\(1 \le i \le N\))번 사람은 왼쪽에서 \(i\)번째에 서 있으며, 하나의 카드 \(A_i\)를 가지고 있다. 각 카드는 가위(S), 바위(R), 보(P) 중 하나이다.

서로 다른 두 사람 사이에 다른 사람이 없다면, 그 두 사람은 서로 인접하다고 하자. 여러분은 인접한 두 사람을 골라 대결시킬 수 있다. 한 번의 대결은 다음과 같이 진행된다.

  • 두 사람의 카드가 서로 다르면, 가위바위보 규칙에 따라 승자가 결정된다. 즉, 바위(R)는 가위(S)를 이기고, 가위(S)는 보(P)를 이기고, 보(P)는 바위(R)를 이긴다.
  • 두 사람의 카드가 같으면, 여러분이 승자를 임의로 정할 수 있다.

패자는 퇴장하며, 승자는 자신의 카드를 그대로 유지한 채 그 자리에 남는다. 퇴장으로 인해 새롭게 인접해지는 두 사람이 생길 수 있으며, 두 사람은 이후 대결을 할 수 있다.

여러분은 정확히 \(N - 1\)번의 대결을 진행하여 단 한 명의 우승자만 남기려 한다. 각 사람에 대해, 그 사람이 우승자가 될 수 있도록 대결하는 방법이 존재하는지 판별하는 프로그램을 작성하라.

제약
  • \(1 \le N \le 200\,000\)

  • \(A\)는 영어 알파벳 대문자 S, R, P로만 이루어진 길이 \(N\)의 문자열이다.

입력 형식

첫 줄에 정수 \(N\)이 주어진다.

그다음 줄에 길이 \(N\)의 문자열 \(A\)가 주어진다. \(A\)\(i\)번째 문자 \(A_i\)\(i\)번 사람이 가진 카드를 나타내며, 영어 알파벳 대문자 S, R, P 중 하나이다 (\(1 \le i \le N\)).

출력 형식

첫 줄에 길이 \(N\)의 문자열을 출력한다. 이 중 \(i\)번째 문자는, \(i\)번 사람이 우승자가 될 수 있다면 1, 아니면 0이어야 한다 (\(1 \le i \le N\)).

서브태스크
서브태스크점수설명

1

13점

\(N \le 3\)

2

16점

문자열 \(A\)는 최대 두 종류의 문자로만 이루어져 있다.

3

47점

\(N \le 100\)

4

31점

\(N \le 5\,000\)

5

43점

추가 제약 조건 없음.

예제 1
입력
3
RPP
출력
011
설명

\(2\)번과 \(3\)번을 먼저 대결시키면 두 사람의 카드가 같으므로(둘 다 보) 승자를 임의로 정할 수 있다. \(2\)번을 승자로 정했다면, 남은 \(1\)번(R)과 \(2\)번(P)이 대결할 때 보(P)가 바위(R)를 이기므로 \(2\)번이 우승자가 될 수 있다.

\(2\)번과 \(3\)번을 대결시켜 \(3\)번을 승자로 정한 후 \(1\)번과 대결시키면 \(3\)번이 우승자가 될 수 있다.

바위(R)는 보(P)를 이길 수 없으므로 \(1\)번은 절대로 우승자가 될 수 없다.

예제 2
입력
3
RPS
출력
101
설명

\(2\)번(P)과 \(3\)번(S)을 먼저 대결시키면 가위(S)가 보(P)를 이겨 \(3\)번이 이긴다. 남은 \(1\)번(R)과 \(3\)번(S)이 대결하면 바위(R)가 가위(S)를 이기므로 \(1\)번이 우승자가 될 수 있다.

\(1\)번(R)과 \(2\)번(P)을 먼저 대결시키면 보(P)가 바위(R)를 이겨 \(2\)번이 이긴다. 남은 \(2\)번(P)과 \(3\)번(S)이 대결하면 가위(S)가 보(P)를 이기므로 \(3\)번이 우승자가 될 수 있다.

\(2\)번은 절대로 우승자가 될 수 없다.

문제 정보

riseoj 작성

출처 올림피아드 > 한국정보올림피아드 > KOI 2026 > 1차 대회 > 초등부 2번

평가 및 의견

가위바위보

개요
출제자 난이도 Gold IV 골드 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

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

풀이 제출

가위바위보

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8