#include<memory> #include<string> #include<iostream> #include<vector> using namespace std; int code(string s) {     if (s.size() < 4)         return s.size();     vector<pair<string, int>> k;     for (size_t i = 1; i <= s.size() / 2; i++) {         string tmp(s.begin(), s.begin() + i);         k.push_back(make_pair(tmp, 1));     }     for (auto it = k.begin(); it != k.end(); it++) {         size_t len = (it->first).size();         for (size_t m = len; m+len<s.size()+1; m += len) {             string tmp(s.begin() + m, s.begin() + m + len);             if (it->first == tmp)                 it->second++;             else                 break;         }     }     auto max_index = k.end();     size_t max = 0;     for (auto it = k.begin(); it != k.end(); it++) {         if (it->second >= 2) {             size_t len = ((it->first).size())*(it->second);             if (len > max && (len > (it->first).size() + 3)) {                 max_index = it;                 max = len;             }         }     }     if (max_index != k.end()) {         string tmp(s.begin() + max, s.end());         return (code(max_index->first) + 3 + code(tmp));     }     else {         string tmp(s.begin() + 1, s.end());         return (1 + code(tmp));     }     return s.size(); } int main() {     string in;     cin >> in;     cout << code(in);     return 0; }
点赞 评论

相关推荐

黑皮白袜臭脚体育生:简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经410star,牛客上有完整文档教程,如果觉得有帮助的话可以点个小星星,蟹蟹
点赞 评论 收藏
分享
剑桥断刀:找啥工作,牛客找个比如大厂软开或者随便啥的高薪牛马,大把没碰过妹子的技术仔,狠狠拿捏爆金币
点赞 评论 收藏
分享
牛客网
牛客企业服务