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;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    注释
    Java三种嵌入jsp的方法
    JSP page指令
    Web应用的目录结构
    Tomcat安装和配置
    动态网页和静态网页的区别
    B/S架构与C/S架构的区别
    URL
    常用SQL查询语句
    SQL--Delete语句
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11226516.html
Copyright © 2011-2022 走看看