Submission #1194324

#TimeUsernameProblemLanguageResultExecution timeMemory
1194324PetrixPalindromic Partitions (CEOI17_palindromic)C++20
100 / 100
131 ms3288 KiB
#include <iostream> using namespace std; #define int long long #define MOD 1000000007 #define B 31 void solve(){ string s;cin>>s; int rasp=0,st=0,dr,hash1,hash2,put,i; dr=s.size()-1; while(st<=dr){ hash1=hash2=0;put=1; do{ if(st>=dr){ rasp++; st++;dr--; break; } hash1=((s[st]-'a'+1)+hash1*B)%MOD; hash2=((s[dr]-'a'+1)*put+hash2)%MOD; st++;dr--; put=(put*B)%MOD; }while(hash1!=hash2); if(hash1&& hash1==hash2){ rasp+=2; } } cout<<rasp<<"\n"; } signed main() { int t; cin>>t; while(t){ solve();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...