解题思路:
注意事项:
参考代码:
#include"bits/stdc++.h" using namespace std; // 定义一个字符串数组,用于存储输入的字符串 string s[20000]; int main(){ // 初始化变量n为1,用于记录输入的字符串数量 int n=1; // 循环读取输入的字符串,直到遇到EOF while(cin>>s[n++]); // 调整n的值,使其表示实际输入的字符串数量 n-=2; // 对字符串数组进行排序 sort(s+1,s+n+1); // 初始化kkk为第一个字符串的长度 int kkk=s[1].size(); // 遍历排序后的字符串数组,计算总长度 for(int i=2;i<=n;i++){ int j=0; // 比较当前字符串与前一个字符串,找到第一个不同的字符位置 while(s[i][j]==s[i-1][j]&&j<s[i-1].size()){ j++; } // 累加当前字符串从不同字符开始的部分长度 kkk+=s[i].size()-j; } // 输出最终计算的总长度,加1是因为有1个root cout<<kkk+1; return 0; }
0.0分
0 人评分