CF2140A.Shift Sort
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 n 的二进制字符串 s,你可以对其执行任意次数(包括零次)以下操作:
- 选择 3 个下标 1≤i≤j≤k≤n,对 si、sj、sk 的值进行循环右移或左移。
例如,对于二进制字符串 110110,如果选择 i=1、j=2、k=3 并进行一次循环右移,字符串变为 011110;如果选择 i=4、j=5、k=6 并进行一次循环左移,字符串变为 110101。
请你计算,将给定的二进制字符串变为有序所需的最小操作次数。
注:二进制字符串指仅由字符 0 和 1 组成的字符串。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤100),表示测试用例的组数。
每组测试用例的第一行为一个整数 n(3≤n≤100),表示字符串的长度。
第二行为一个长度为 n 的二进制字符串 s。
输出格式
对于每组测试用例,输出一个整数,表示将给定二进制字符串变为有序所需的最小操作次数。
输入输出样例
输入#1
4 3 001 4 0110 6 110100 6 101011
输出#1
0 1 2 1
说明/提示
对于第一个测试用例,给定的字符串已经是有序的,因此不需要任何操作。
对于第二个测试用例,可以选择 i=1、j=2、k=4 并进行一次循环右移。此时字符串变为 0011,达到了有序状态。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?