## CCC '20 S4 - Swapping Seats

View as PDF

Points: 12 (partial)
Time limit: 1.0s
Memory limit: 512M

Author:
Problem type
##### Canadian Computing Competition: 2020 Stage 1, Senior #4

There are 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?

#### Input Specification

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

For of the available marks, the input has no characters and .

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

For an additional of the available marks, .

#### Output Specification

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

#### Sample Input

BABCBCACCA

#### Output for Sample Input

2

#### Explanation of Output for Sample Input

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

• commented on Feb. 12, 2021, 3:04 a.m.

For the sample input, why is AABBBCCCCA the correct final sort? Why doesn't it need to be AAABBBCCCC for the A group to be happy?

• commented on Feb. 12, 2021, 2:20 p.m.

They are arranged in a ring, not in a row.

• commented on Feb. 12, 2021, 10:19 a.m.

The table is circular.

• commented on Jan. 22, 2021, 9:42 p.m.

I don't understand how "AABCBCBCCA" can become "AABBBCCCCA" in just one swap. Can someone explain?

• commented on Jan. 22, 2021, 9:48 p.m.

Swap these 2 characters.

AABCBCBCCA
^  ^
• commented on Jan. 23, 2021, 12:25 a.m.

Oh I see, thank you.

• commented on July 5, 2020, 4:56 p.m.

Can we assume there will always be >2 of each type? (in the case that one exists)

• commented on July 11, 2020, 8:23 p.m.

It's not in the statement, so probably not. I don't know why they would exclude cases like .

• commented on March 22, 2020, 12:00 a.m.

Is it possible for an editorial to be opened for this problem?