关注
#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; }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 摸鱼被leader发现了怎么办 #
73940次浏览 421人参与
# 工作后明白的那些道理 #
30461次浏览 338人参与
# 工作后,你落下了哪些病根 #
1385次浏览 33人参与
# 电网求职进展汇总 #
33419次浏览 90人参与
# 你学到的“最没用”的职场技能是 #
1313次浏览 28人参与
# 七夕节你打算怎么过? #
70076次浏览 806人参与
# 业务面应该做哪些准备 #
80542次浏览 831人参与
# 国央企笔面经互助 #
172459次浏览 1211人参与
# 你见过最离谱的招聘要求是什么? #
245521次浏览 1691人参与
# 满帮集团求职进展汇总 #
13278次浏览 95人参与
# 拼多多求职进展汇总 #
798220次浏览 6452人参与
# 上班到公司第一件事做什么? #
113909次浏览 787人参与
# 职场破防瞬间 #
352678次浏览 2827人参与
# 工作两年想退休了 #
208244次浏览 1844人参与
# 硬件人秋招的第一个offer #
111104次浏览 1426人参与
# 国企/银行/研究所公司爆料 #
177665次浏览 889人参与
# 视觉/交互/设计招聘信息汇总 #
24403次浏览 634人参与
# 产品人求职现状 #
299163次浏览 2363人参与
# 如果可以选,你最想从事什么工作 #
672330次浏览 4848人参与
# 满分简历要如何准备? #
249603次浏览 2961人参与

查看12道真题和解析