제출 #468948

#제출 시각아이디문제언어결과실행 시간메모리
468948paga2004Palindromic Partitions (CEOI17_palindromic)C++14
0 / 100
3 ms460 KiB
#include <bits/stdc++.h>

#ifdef LOCAL
#define dbg(x) cerr << "dgb: " << x << "\n";
#else
#define dbg(x)
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2,tune=native")
#endif

#define int int_fast64_t

using namespace std;

string s;
int solve(int l, int r) {
  dbg("l " << l << " r " << r);
  if (l == r)
    return 1;
  int pl = l;
  int pr = r;
  while (s[pr] != s[pl]) {
    pr--;
    if (pr == pl)
      return 1;
  }
  int len = r - pr + 1;
  dbg("len " << len);
  dbg(s.substr(pl, len));
  dbg(s.substr(pr, len));
  if (s.substr(pl, len) != s.substr(pr, len)) {
    return 1;
  }
  return 2 + solve(pl + len, pr - 1);
}

signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);

  int t;
  cin >> t;
  while (t--) {
    cin >> s;
    dbg(s);
    cout << solve(0, (int)s.size() - 1) << "\n";
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...