c题这样写为什么不对,显示段错误,过了14%

思路:按字典序排列完成后判断每个字符是否为前缀字符,记录下非前缀字母和后再减去最长串

#include<bits/stdc++.h>

using namespace std;

const int N=1e7;

string s[N];

int n,m;

int l,r;

int num=0;//总操作次数

int lengh=0;//最长字符串长度

int main()

{

cin>>n>>m;

for(int i=1;i<=n;i++)cin>>s[i];

cin>>l>>r;

sort(s+1,s+1+n);

for(int i=1;i<=n;i++)

{

for(int j=0;j<size(s[i]);j++)if(s[i][j]!=s[i-1][j]||j>size(s[i-1]))num++;

}

for(int i=1;i<=n;i++)

{

int x=size(s[i]);

lengh=max(lengh,x);

}

cout<<num*2-lengh;

return 0;

}

全部评论
求大佬指点
点赞 回复 分享
发布于 01-27 20:39 河南

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务