说是要用递归,我智商较低没想出来...瞎做的。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
typedef vector<string> String;
int main(){
String s;
int N;
cin>>N;
int allSize(0);
while(N--)
{
string tmp;
cin>>tmp;
s.push_back(tmp);
}
String::iterator itString;
allSize =(*s.begin()).length();
for(itString = s.begin();itString != s.end()-1;itString++)
{
int sameNum(0);
string string1 = *itString;
string string2 = *(itString+1);
int minLength = min(string1.length(),string2.length());
for(int i = 0;i < minLength;i++)
{
if(string1[i] != string2[i])
break;
sameNum++;
}
allSize += (string2.length() - sameNum+1);
}
cout<<allSize<<endl;
}