結果
問題 |
No.2234 palindromer
|
ユーザー |
|
提出日時 | 2023-03-03 22:04:02 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,143 bytes |
コンパイル時間 | 2,165 ms |
コンパイル使用メモリ | 196,188 KB |
最終ジャッジ日時 | 2025-02-11 02:35:10 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; using vi = vector<int>; using vs = vector<string>; using vvi = vector<vi>; using vll = vector<ll>; using vvll = vector<vll>; using pii = pair<int, int>; using pll = pair<ll, ll>; #define rep(i,j,n) for(ll i=j;i<n;i++) #define rp(i,n) rep(i,0,n) #define all(v) v.begin(), v.end() #define pb push_back #define yes {cout<<"Yes"; return 0;} #define no {cout<<"No"; return 0;} #define yn(jg){if(jg) yes; no;} #define Noo {cout<<-1; return 0;} #define NL {cout<<endl;} ll mod0 = 998244353; ll lmax = 9e18; ll inf = 2e9;//2147483647 double pi = 3.14159265358979; //cout<<setprecision(15)<<fixed<< #define aout(a) {for(auto I:a) cout<<I<<" ";cout<<endl;} #define bout(a) {for(auto J:a) aout(J);cout<<endl;} bool kaibun(string s) { rp(i, s.size()) if (s[i] != s[s.size() - 1 - i]) return 0; return 1; } int main() { string s,ans; cin >> s; rp(i, s.size()) { string k; // cout << s.substr(s.size() - 1 - i); if(kaibun(s.substr(s.size()-1-i))) k=s.substr(0,s.size()-i-1); // cout << k << endl; reverse(all(k)); if(kaibun(s) || k!="")ans = s + k; } cout << ans << endl; }