# 从标准输入读取一个整数n,并存储在变量n中  
n = int(input())  
  
# 从标准输入读取一个字符串s,并存储在变量s中  
s = input()  
  
# 计算字符串s的长度,并存储在变量length中  
length = len(s)  
  
# 初始化变量ans为0,用于存储最终的计算结果  
ans = 0  
  
# 计算字符串s中可以完整分割成n个字符长度的子字符串的数量,并存储在变量size中  
size = length // n  
  
# 遍历每一个可以完整分割的子字符串  
for i in range(size):  
    # 初始化一个空字典mp,用于存储当前子字符串中每个字符的出现次数  
    mp = dict()  
      
    # 遍历当前子字符串中的每一个字符  
    for j in range(n):  
        # 计算当前字符在字符串s中的位置p  
        p = j * size + i  
          
        # 如果当前字符已经在字典mp中存在,则将其出现次数加1  
        if s[p] in mp:  
            mp[s[p]] += 1  
        # 如果当前字符在字典mp中不存在,则将其添加到字典中,并设置其出现次数为1  
        else:  
            mp[s[p]] = 1  
      
    # 找到当前子字符串中字符的最大出现次数,并从n中减去这个值,得到x  
    x = n - max(mp.values())  
      
    # 将x累加到ans中  
    ans += x  
  
# 打印最终结果ans,end=''确保输出后不换行  
print(ans, end='')

对于每个分割开的字符串的相同位置进行字符出现次数统计,将所有字符转化为出现次数最多的那个字符,这样需要的次数最少。


还有两天就比赛了,加油加油加油!

好累啊啊啊啊

点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

23大数据赵恒卓 8月前 回复TA
思路可以的,厉害