zoukankan      html  css  js  c++  java
  • Codeforces Global Round 4E(字符串,思维)

    #include<bits/stdc++.h>
    using namespace std;
    string s,a,b;
    int main(){
    cin>>s;
    int n=s.size();
    int l=0,r=n-1;
    while(l<=r-3){//三个字母没有连续相同的,所以四个字符以内必定有相同字母,即回文
    if(s[l]==s[r]){
    a.push_back(s[l]);
    b.push_back(s[r]);
    l++,r--;
    }
    else if(s[l]==s[r-1]){
    a.push_back(s[l]);
    b.push_back(s[r-1]);
    l++,r-=2;
    }
    else if(s[l+1]==s[r]){
    a.push_back(s[l+1]);
    b.push_back(s[r]);
    l+=2,r--;
    }
    else if(s[l+1]==s[r-1]){
    a.push_back(s[l+1]);
    b.push_back(s[r-1]);
    l+=2,r-=2;
    }
    }
    if(r>=l)
    a.push_back(s[l]);//中间还剩余一个字母,加上它使得串更长,当输入的串很小时,加上中间一个可以使得超过一半
    reverse(b.rbegin(),b.rend());//反向迭代器的++是向前的,等同于reverse(b.begin(),b.end());
    cout<<a<<b;
    return 0;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    简易自制线程池(备忘)
    大数据量的删除过程查看
    收集书籍备忘
    6月12日C代码
    fseek()
    区分int *p[4]与int (*p)[4]
    常用的字符串处理函数 C语言
    6月11日
    C学习代码
    文件读取 C语言
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11226516.html
Copyright © 2011-2022 走看看