跟题解几乎一样,为什么还是错了?
查看原帖
跟题解几乎一样,为什么还是错了?
494192
ChickenDrinkingMilk楼主2021/11/13 22:04

我代码:

#include<bits/stdc++.h>
using namespace std;
string a[32001];
int n,mx;
int main(){
	while (getline(cin,a[++n]));
	n--;
	sort(a+1,a+n+1);
	mx=a[1].length();
	for (int i=2;i<=n;i++){
		int j=0;
		while (j<a[i-1].length()&&a[i][j]==a[i-1][j]) j++;
		mx+=a[i].length()-j;
	}
	cout<<mx+1;
}

题解:

#include <bits/stdc++.h>

using namespace std;

string s[10086];

int main () {
	int len = 0;
	while (cin >> s[++len])
		continue;
	sort(s + 1, s + len + 1);
	int length = 0;
	for (int i = 1; i <= len; i++) {
		if (i == 1) {
			length += s[i].length();
			continue;
		}
		int tmp = 0;
		while (s[i][tmp] == s[i - 1][tmp] && tmp < s[i - 1].length())
			tmp++;
		length += s[i].length() - tmp;
	}
	printf("%d", ++length);
	return 0;
}

请大佬帮个忙

2021/11/13 22:04
加载中...