# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
217858 | 2020-03-31T04:52:12 Z | aloo123 | Palindromic Partitions (CEOI17_palindromic) | C++14 | 10 ms | 8192 KB |
#include <bits/stdc++.h> #define ll long long #define ld long double #define mp make_pair #define pb push_back #define vll vector<ll> #define endl "\n" #define pll pair<ll,ll> #define all(x) (x).begin() , (x).end() #define f first #define s second using namespace std; const ll N =(2e5+5); const ll MOD = 998244353; const ll INF = 1e16; const ll LOG = 29; long long binpow(long long a, long long b) { a %= MOD; long long res = 1; while (b > 0) { if (b & 1) res = (res * a)%MOD ; a = (a * a)%MOD ; b >>= 1; } res%=MOD; return res; } ll pp[1000005]; void solve(){ string s; cin>>s; ll n = (ll)s.size(); //cout<<n<<endl; ll l= 0,r= n -1; ll a=0; ll b=0; ll ans = 0; ll x=-1,y=n; ll lol = 0,gg=n-1; while(l < r){ a = a * LOG + (s[l]-'a'+1); b += pp[gg-r] * (s[r] - 'a' + 1); if(b == a){ ans += 2; a=0; b=0; x = l,y =r; lol = l,gg = r; } l++,r--; } if((x+1)<=(y-1)) ans++; cout<<ans<<endl; } int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); pp[0] = 1; for(int i =1;i<=1000000;i++)pp[i] = (pp[i-1] * LOG); ll t;cin>>t; while(t--){ solve(); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 8192 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 8192 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 8192 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 8192 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |