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

S4. Swapping Seats

Unrated 레이팅 미적용
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

There are \(N\) people sitting at a
circular table for a long session of negotiations. Each person belongs
to one of the three groups: A,
B, or C. A group is
happy if all of its members are sitting contiguously in a block
of consecutive seats. You would like to make all groups happy by some
sequence of swap operations. In each swap operation, two people
exchange seats with each other. What is the minimum number of swaps
required to make all groups happy?

제약

\((1\le N\le 1\:000\:000)\)
\(N\le 5\:000\)

입력 형식

The input consists of a single line containing \(N\) \((1\le N\le 1\:000\:000)\) characters, where each character is
A, B, or
C. The \(i\)-th character denotes the group of the
person initially sitting at the \(i\)-th seat at the table, where seats are
numbered in clockwise order.

For 4 of the 15 available marks, the input has no
C characters and \(N\le 5\:000\).

For an additional 4 of the 15 available marks, the input has no
C characters.

For an additional 4 of the 15 available marks, \(N\le 5\:000\).

출력 형식

Output a single integer, the minimum possible number of swaps.

예제 1
입력
BABCBCACCA
출력
2
설명

In one possible sequence, the first swap results in the seating layout
AABCBCBCCA. After the second swap, the layout
is AABBBCCCCA.

문제 정보

생성자가 기록되지 않았습니다.

출처 CCC 2020 Senior

평가 및 의견

S4. Swapping Seats

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

Log in to rate problems.

개별 의견

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

풀이 제출

S4. Swapping Seats

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