竞赛讨论区 > c题这样写为什么不对,显示段错误,过了14%
头像
zyzhhh
编辑于 2025-01-27 20:42 河南
+ 关注

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;

}

全部评论

(1) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐