I問題の把握テストに署名する

2765 ワード

I署名問題


手探り試験I題

タイトル:


左から見ても右から見ても同じなら、回文文字列です.長さn(1≦n≦10 e 5)の文字列を指定します.文字を変更できますが、文字を変更するには次のルールがあります(下付き0から計算します).
1 aiをan−i−1 2に変え、an−i−1をaiに変えます.ここで、与えられた文字列を回文文字列に変え、辞書順を最小にします.

問題:


実は昔から前数のある文字と後ろから同じ位置の文字の大きさを線形に比較して、小さい文字に変えればいいのです.
#include
using namespace std;
int main()
{
    string s;cin>>s;
    int n=s.size();
    for(int i=0;i<n;i++)
    {
        if(s[i]>s[n-i-1])
            s[i]=s[n-i-1];
    }
    cout<<s;
    return 0;
}