# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
545818 | 2022-04-05T13:59:19 Z | Ai7081 | Palindromic Partitions (CEOI17_palindromic) | C++17 | 4 ms | 2260 KB |
#include <bits/stdc++.h> using namespace std; const int mod = 1e9+7; const int key = 31; int t, out, l, r, now, po[500005]; string s; stack<char> st; bool ok; int main() { ios_base::sync_with_stdio(false); cin.tie(0); po[0] = 1; for (int i=1; i<=500000; i++) po[i] = (po[i-1] * key) % mod; cin >> t; while (t--) { cin >> s; ok = false; out = l = r = now = 0; for (int i=0; i<s.size()/2; i++) { l *= key, l += (s[i]-'a'+1), l %= mod; r += (s[s.size()-1-i]-'a'+1)*po[now], r %= mod; if (i == s.size()/2-1 && l == r) ok = true; if (l == r) now = l = r = 0, out += 2; else now++; } (s.size()%2 || !ok) ? cout << out+1 << endl : cout << out << endl; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 2260 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 2260 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 2260 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 2260 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |