标签:
字符串所有子串要不同。求修改最少多少个字符。
因为只能是26个字母,显然大于26的不可能有答案,其它情况ans+=u[i]-1;u[i]是字母出现的次数。
#include<cstdio> char s; int n,u[30],ans; int main(){ scanf("%d ",&n); for(int i=0;i<n;i++){ scanf("%c ",&s); u[s-‘a‘]++; } if(n>26)printf("-1"); else{ for(int i=0;i<26;i++) if(u[i])ans+=u[i]-1; printf("%d",ans); } }
【CodeForces 672B】Different is Good
标签:
原文地址:http://www.cnblogs.com/flipped/p/5723302.html