Submission #928655

#TimeUsernameProblemLanguageResultExecution timeMemory
928655RegulusPalindromic Partitions (CEOI17_palindromic)C++17
60 / 100
10026 ms3912 KiB
#include <bits/stdc++.h> #define IO ios::sync_with_stdio(false);cin.tie(0); #define debug(x) cerr << #x << " = " << (x) << ' ' #define bug(x) cerr << (x) << ' ' #define endl cerr << '\n' #define all(v) (v).begin(), (v).end() #define SZ(v) (ll)(v).size() #define lowbit(x) (x)&-(x) #define pb emplace_back #define F first #define S second using namespace std; using ll = long long; using pll = pair<ll, ll>; const int N = 1e6+5; string s; deque<int> dq, dq2; int main(void) { IO int T, n, i; cin >> T; do { cin >> s, n = SZ(s); s = " " + s; int ans = 0, L=1, R=n; while (L <= R) { dq.clear(), dq2.clear(); for (i=0; i < n; ++i) { dq.push_back(s[L+i]); dq2.push_front(s[R-i]); if (dq == dq2) break; } if (R-L == i) ++ans; else ans += 2; //debug(L), debug(R), debug(i); L += i + 1, R -= i + 1; //debug(L), debug(R), endl; } cout << ans << '\n'; } while (--T); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...