Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
next greater palindrome
#include <bits/stdc++.h> using namespace std; int main(){ ios_base :: sync_with_stdio(0); cin.tie(0); int t; cin >> t; while(t--){ string s; cin >> s; int nine = 0; for(int j = 0; j < s.length(); j++) if(s[j] == '9') nine++; if(nine == s.length()){ cout << 1; for(int j = 0; j < s.length()-1; j++) cout << 0; cout << 1 << endl; } else{ string ans = s; int n = s.length(); for(int j = n/2; j < n; j++) ans[j] = ans[n - j - 1]; if(ans > s) cout << ans << endl; else{ if(n % 2 != 0 && ans[n/2] != '9') ans[n/2]++, cout << ans << endl; else{ if(n%2) ans[n/2] = '0'; int l = n/2 - 1, r = l+1 + (n%2); while(l >= 0){ if(ans[l] == '9'){ ans[l] = ans[r] = '0'; l--; r++; continue; } ans[l]++, ans[r]++; break; } cout << ans << endl; } } } } return 0; }
run
|
edit
|
history
|
help
0
SL_Dictance challange
Operation on Set Container
HeapSort
Mapas - convertir número telefónico
decrypt_problem_5
Making pyramid using nested loop 1/2
Zadanie Kolokwium 2013: Trójkąty i trójkąty
articulation points and bridges
std::string(pid_t)
primes