题目很简单,模拟就好,比较恼人的就是题干是英文,看起来极其不爽,这是递归的作业,但我不知道递归怎么写,还请大神赐教
#include <iostream>
#include <string>
using namespace std;
int main()
{
int N, sum = 0;
cin >> N;
string str[10001];
int length[10001];
for (int i = 0; i < N; i++)
cin >> str[i];
length[0] = str[0].size();
for (int i = 1; i < N; i++)
{
int j = 0;
bool flag = true;//默认两个串完全一样
while (true)
{
if (str[i - 1][j] == str[i][j] && j < str[i - 1].size() && j < str[i].size())
{
flag = false;
j++;
}
else if (flag)
{
length[i] = str[i].size() + 1;
break;
}
else
{
length[i] = str[i].size() - j + 1;
break;
}
}
}
for (int i = 0; i < N; i++)
{
sum += length[i];
}
cout << sum << endl;
}