题库首页 › 青少年软件编程(C语言) › 题目 15132

图书管理 题目描述 图书馆的书籍分类系统使用二进制标签管理,0 代表儿童读物,1 代表青少年书籍。管理员发现当前的书架排列中不允许出现青少年书籍之后连接儿童读物的情况(即 10 子串)。管理员每次可以交换任意两本书的位置。请计算让书架符合规定所需的最少操作次数。 输入格式 由 0 和 1 组成的字符串,表示当前书架排列。 输出格式 一行一个非负整数,即达到目标所需的最少操作次数。 输入样例#1 1100 输出样例#1 2 输入样例#2 00 输出样例#2 0 输入样例#3 10110100 输出样例#3 3 说明提示 对于全部的输入数据,保证 2≤字符串长度≤200000 ,同时 ci必为1 或 0 中的一个。 限制 时间限制:1000ms 内存限制:512MiB

正确答案:参考程序(Python):s=input();n=len(s);ones=s.count('1');target='1'*ones+'0'*(n-ones);diff=sum(s[i]!=target[i] for i in range(n));print(diff//2)。样例1100→2,00→0。核心:排序错位计数。

试卷来源:202506 青少年等级考试C/C++真题五级

本卷相关题目

在线做题 同科目题库