关注
#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
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
330463次浏览 3124人参与
# 上班苦还是上学苦呢? #
73142次浏览 654人参与
# 百度开奖 #
185203次浏览 1161人参与
# 地方国企笔面经互助 #
4548次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
21964次浏览 410人参与
# 选完offer后,你后悔学本专业吗 #
22000次浏览 159人参与
# 阿里云管培生offer #
37216次浏览 423人参与
# 我的实习求职记录 #
6071580次浏览 83549人参与
# 如何一边实习一边秋招 #
996985次浏览 12666人参与
# 找工作时遇到的神仙HR #
553616次浏览 3801人参与
# 入职第一天,你准备什么时候下班 #
21656次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10807次浏览 277人参与
# bilibili求职进展汇总 #
33308次浏览 357人参与
# 许愿池 #
214876次浏览 2535人参与
# 学历or实习经历,哪个更重要 #
54034次浏览 423人参与
# 你今年的平均薪资是多少? #
70994次浏览 345人参与
# 实习工作,你找得还顺利吗? #
247918次浏览 2910人参与
# 通信硬件薪资爆料 #
609396次浏览 5194人参与
# 海康威视求职进展汇总 #
400861次浏览 3408人参与
# 携程求职进展汇总 #
135887次浏览 932人参与
# 正在实习的你,几点下班 #
53424次浏览 396人参与
# 工作两年想退休了 #
53138次浏览 672人参与