欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1551B1.Wonderful Coloring - 1
Wonderful Coloring - 1
题目描述
这是问题 B2 的简化版本。在开始解决 B1 之前,你也许应该先阅读一下 B2。
Paul 和 Mary 有一个最喜欢的字符串 ,它由小写拉丁字母组成。他们想用两种颜色的粉笔(红色和绿色)来涂色。我们称一个字符串的涂色方案为“美妙涂色”,当且仅当满足以下条件:
- 字符串中的每个字母要么被恰好涂上一种颜色(红色或绿色),要么不被涂色;
- 被涂成同一种颜色的任意两个字母都不相同;
- 被涂成红色的字母数量等于被涂成绿色的字母数量;
- 在满足前面三个条件的所有涂色方案中,被涂色的字母总数最大。
例如,考虑字符串 为 "kzaaa"。下图展示了该字符串的一种美妙涂色方案。

这是字符串 "kzaaa" 的一种美妙涂色方案。Paul 和 Mary 想自己学会如何找到字符串的美妙涂色方案。但他们还很小,需要一点提示。请帮助他们找到 —— 在美妙涂色方案中被涂成红色(或绿色,这两个数量相等)的字母数量。
输入格式
第一行包含一个整数 (),表示测试用例的数量。接下来有 个测试用例。
每个测试用例包含一个非空字符串 ,由小写拉丁字母组成。字符串的长度不超过 。
输出格式
对于每个测试用例,输出一行,包含一个非负整数 ,表示在美妙涂色方案中被涂成红色的字母数量。
说明/提示
第一个测试用例包含题目描述中的字符串。图中展示了一种美妙涂色方案。不存在包含 个或更多红色字母的美妙涂色方案,因为被涂色的符号总数会超过字符串长度。
第二个测试用例的字符串可以这样涂色:将每个字母 "c"、"o"、"e" 的第一次出现涂成红色,第二次出现涂成绿色。将字母 "d"、"f" 涂成红色,"r"、"s" 涂成绿色。这样每个字母都被涂成红色或绿色,因此不存在比 更优的答案。
第三个测试用例的字符串由不同的字母组成,因此你可以任意选择一组字符涂成红色,只要该集合的大小不超过字符串长度的一半且尽可能大。
第四个测试用例只包含一个字母,无法将其涂成红色,因为没有字母可以涂成绿色。
第五个测试用例的字符串由相同的字母组成,因此无法将超过一个字母涂成红色。
由 ChatGPT 4.1 翻译
样例
5
kzaaa
codeforces
archive
y
xxxxxx
2
5
3
0
1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |