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

19609번 - Swapping Seats 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB111393741.111%

문제

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?

입력

The input consists of a single line containing N (1 ≤ N ≤ 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.

출력

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

제한

예제 입력 1

BABCBCACCA

예제 출력 1

2

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

힌트

출처

Olympiad > Canadian Computing Competition & Olympiad > 2020 > CCC 2020 Senior Division 4번

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

출처

대학교 대회

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

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