답안 #578975

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
578975 2022-06-18T09:05:30 Z web Palindromic Partitions (CEOI17_palindromic) C++17
100 / 100
1611 ms 11392 KB
#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;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 212 KB Output is correct
11 Correct 2 ms 212 KB Output is correct
12 Correct 3 ms 212 KB Output is correct
13 Correct 3 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 212 KB Output is correct
11 Correct 2 ms 212 KB Output is correct
12 Correct 3 ms 212 KB Output is correct
13 Correct 3 ms 340 KB Output is correct
14 Correct 234 ms 3196 KB Output is correct
15 Correct 1611 ms 4256 KB Output is correct
16 Correct 233 ms 11392 KB Output is correct
17 Correct 119 ms 6824 KB Output is correct