欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF672B.Different is Good
Different is Good
题目描述
一位智者曾对 Kerem 说过“不同是好的”,因此 Kerem 渴望生活中的一切都与众不同。
最近,Kerem 得到了一串由小写英文字母组成的字符串 。由于 Kerem 喜欢一切都与众不同,他希望自己的字符串 的所有子串都是不同的。子串是由字符串中若干连续字符组成的字符串。例如,字符串 "aba" 的子串有 ""(空子串)、"a"、"b"、"a"、"ab"、"ba"、"aba"。
如果字符串 至少有两个相同的子串,那么 Kerem 就会将某些位置的字符改成其它小写英文字母。改变字符的工作非常繁琐,因此 Kerem 希望操作次数尽可能少。
你的任务是求出至少需要多少次修改,才能使给定字符串的所有子串都不同,或者判断是否无法实现。
输入格式
输入的第一行是一个整数 (),表示字符串 的长度。
第二行是一个长度为 、仅由小写英文字母组成的字符串 。
输出格式
如果无法通过修改使 的所有子串都不同,则输出 -1。否则,输出所需的最小修改次数。
说明/提示
在第一个样例中,一种可行的方案是将第一个字符改为 'b'。
在第二个样例中,可以把第一个字符改成 'a',第二个字符改成 'b',那么字符串变为 "abko"。
由 ChatGPT 5 翻译
样例
2
aa
1
4
koko
2
5
murat
0
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |