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