From a80a3423a1529bb44ae4b6b9847d42a512f85c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 8 Mar 2024 13:21:04 +0800 Subject: [PATCH] 'commit' --- .../ZhongGaoJi/LanQiao15STEMA202401/6.cpp | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/6.cpp b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/6.cpp index e569482..83ad612 100644 --- a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/6.cpp +++ b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/6.cpp @@ -1,7 +1,29 @@ #include using namespace std; +/* +测试用例: +5 +12321 + +*/ int cnt = 1; + +// 循环写法 +void cut(string s) { + while (true) { + int p; + for (p = s.size() - 1; p; p--) + if (s[0] != s[p]) break; + string t = s.substr(1, p); + if (t.size()) + cnt++, s = t; + else + break; + } +} + +// 递归写法 void dfs(string s) { int p; for (p = s.size() - 1; p; p--) @@ -14,7 +36,7 @@ int main() { int n; string s; cin >> n >> s; - dfs(s); + cut(s); cout << cnt << endl; return 0; } \ No newline at end of file