关注
#include <iostream>
#include <string>
using namespace std;
string helper(string str) {
if (str.size() <= 4) {
return str;
}
for (int i = 0; i < str.size(); ++i) {
for (int j = str.size() - 1; j > i; --j) {
if (str[j] != str[i]) continue;
int k = 0;
while (j + k < str.size() && str[i + k] == str[j + k]) ++k;
string base = str.substr(i, k);
int len = j - i;
if (len % k != 0) continue;
int num = len / k + 1;
if (3 + k >= j - i + k) continue;
int n = num - 1;
while (--n) {
if (base == str.substr(i + n*k, k)) continue;
else break;
}
if (n != 0) continue;
else {
string res = str.substr(0, i);
string numstr = to_string(num);
res += numstr;
res += '[';
string next = helper(base);
res += next;
res += ']';
res += str.substr(j + k);
return res;
}
}
}
}
int main() {
string str;
cin >> str;
if (str.size() <= 4) {
cout << str.size() << endl;
return 0;
}
cout << helper(str).size() << endl;
system("pause");
return 0;
}
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
09-22 22:22
中山大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 怎么给家人解释你的工作? #
11445次浏览 74人参与
# 应届生被毁约被毁意向了怎么办 #
46175次浏览 280人参与
# 快手技术岗信息交流阵地 #
3499次浏览 29人参与
# 你的mentor是什么样的人? #
16356次浏览 110人参与
# 牛客周边新品开箱 #
10519次浏览 90人参与
# 帮我看看,领导说这话什么意思? #
21152次浏览 98人参与
# 求职中的尴尬瞬间 #
4002次浏览 42人参与
# 牛友的志愿填报指南 #
35012次浏览 185人参与
# 国企还是互联网,你怎么选? #
170264次浏览 1273人参与
# 牛客树洞,我想对你说 #
9255次浏览 98人参与
# 机械人集合!你是什么工程师? #
20043次浏览 91人参与
# 如何KTV领导 #
72759次浏览 502人参与
# 大疆工作体验 #
18849次浏览 85人参与
# 今年形式下双非本找得到工作吗 #
237729次浏览 1433人参与
# 三一集团提前批进度交流 #
38476次浏览 225人参与
# 求职低谷期你是怎么度过的 #
12972次浏览 250人参与
# 26届秋招公司红黑榜 #
28378次浏览 115人参与
# 校招泡的最久的公司是哪家? #
13060次浏览 82人参与
# 从哪些方向判断这个offer值不值得去? #
17220次浏览 189人参与
# 得物app工作体验 #
28472次浏览 66人参与
# 大厂无回复,继续等待还是奔赴小厂 #
248301次浏览 1634人参与
