Submission #309867

#TimeUsernameProblemLanguageResultExecution timeMemory
309867peuchPalindromic Partitions (CEOI17_palindromic)C++17
0 / 100
1 ms256 KiB
#include<bits/stdc++.h> using namespace std; const int MAXN = 1e6 + 10; int t; int n; string st1; int cnt = 26; map<pair<int, int> , int> marc; map<int, int> tam; int main(){ scanf("%d", &t); while(t--){ cin >> st1; n = st1.size(); pair<int, int> aux1 = make_pair(0, 0); pair<int, int> aux2 = make_pair(0, 0); int ans = 0; cnt = 26; marc.clear(); for(int i = 1; i <= 26; i++){ marc[make_pair(i, 0)] = i; marc[make_pair(0, i)] = i; } for(int i = 0; i < n / 2; i++){ if(aux1.first == 0) aux1.first = st1[i] - 'a' + 2; else{ if(marc[make_pair(aux1.second, st1[i] - 'a' + 2)] == 0) marc[make_pair(aux1.second, st1[i] - 'a' + 2)] = ++cnt; aux1 = make_pair(aux1.first, marc[make_pair(aux1.second, st1[i] - 'a' + 2)]); } aux2 = make_pair(st1[n - i - 1] - 'a' + 2, marc[aux2]); if(marc[aux1] == 0) marc[aux1] = ++cnt; if(marc[aux2] == 0) marc[aux2] = ++cnt; if(marc[aux1] == marc[aux2]) { ans += 2; aux1 = make_pair(0, 0); aux2 = make_pair(0, 0); } } if(n % 2 == 1) ans++; else if(aux1.first != 0) ans++; printf("%d\n", ans); } }

Compilation message (stderr)

palindromic.cpp: In function 'int main()':
palindromic.cpp:15:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   15 |  scanf("%d", &t);
      |  ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...