关注
#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; }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
02-07 14:16
门头沟学院 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
10110次浏览 171人参与
# 牛友的春节生活 #
7167次浏览 147人参与
# 春节前,你还在投简历吗? #
13530次浏览 159人参与
# 春节提前走,你用什么理由请假? #
9916次浏览 234人参与
# 牛客AI体验站 #
14713次浏览 267人参与
# 实习到现在,你最困惑的一个问题 #
4341次浏览 122人参与
# 备战春招/暑实,现在应该做什么? #
4729次浏览 151人参与
# 从夯到拉,锐评职场mentor #
4762次浏览 70人参与
# 工作后,你落下了哪些病根 #
32311次浏览 277人参与
# 怎么给家人解释你的工作? #
51528次浏览 208人参与
# 距离春招还有一个月,你现在是什么开局? #
6694次浏览 111人参与
# 上班摸鱼,你都在干些什么? #
39049次浏览 246人参与
# 聊聊Agent开发 #
24149次浏览 586人参与
# 暑期实习什么时候投? #
6916次浏览 161人参与
# 什么是优秀的实习经历 #
35882次浏览 387人参与
# 面试经验谈 #
406343次浏览 7217人参与
# 今年秋招你收到了多少封邮件? #
37472次浏览 275人参与
# 考研失败就一定是坏事吗? #
221458次浏览 1539人参与
# 推荐一个值得做的AI项目 #
6639次浏览 177人参与
# 如何看待offer收割机的行为 #
1037424次浏览 6594人参与
vivo公司福利 698人发布
查看24道真题和解析