This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
bool equalStr(string& s, int p1, int p2, int ctr)
{
if(s[p1] != s[p2] || s[p1+ctr] != s[p2+ctr] )
return false;
return !s.compare(p1, ctr+1, s, p2, ctr+1);
}
int main()
{
int t; cin>>t;
while(t--)
{
string s; cin>>s;
int ptr1 = 0, ptr2= s.length() -1;
long long res = 0;
int ctr = 0;
while(ptr1 <= ptr2)
{
if(s[ptr1] == s[ptr2])
{
if(equalStr(s, ptr1, ptr2, ctr))
{
res++;
if(ptr1 != ptr2)
res++;
ptr1 += ctr+1;
ptr2--;
ctr =0;
}
else
{
ptr2--;
ctr++;
}
}
else
{
ptr2--;
ctr++;
}
}
cout<<res<<endl;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |