代码拉取完成,页面将自动刷新
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<string> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int res = 0;
vector<int> dp(n);
dp[1] = dp[2] = 1;
for (int i = 3; i < 10000; i++) {
dp[i] = dp[i - 1] + i - 1;
}
int number = nums[0].size();
int prev_len = INT_MAX;
for (int i = 0; i < number; i++) {
int hash[26] = {0}, len = 0;
// 统计一下这里列最多的相同字母的数量
for (int j = 0; j < n; j++) {
hash[nums[j][i] - 'a']++;
len = max(len, min(prev_len, hash[nums[j][i] - 'a'] ) );
}
prev_len = len;
if (i == 0)
res += dp[len + 1];
else
res += dp[len];
}
cout << res << endl;
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。