zoukankan      html  css  js  c++  java
  • Codeforces Gym100971 K.Palindromization-回文串 (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)

    这个题就是从字符串中删除一个字符,然后剩下的是回文串。

    我写的代码虽然长得好看,但是循环里面的比较条件容易想错,太智障了。。。

    一开始写的是计数比较,但是有的时候下标相同的也比较了,为了简单一些,直接看有没有条件不成立的,这样就少想好多东西(偷懒为主,嘻嘻嘻)。

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<cmath>
     5 #include<algorithm>
     6 using namespace std;
     7 const int N=1e6+10;
     8 char a[N];
     9 int main(){
    10     while(~scanf("%s",a)){
    11         int len=strlen(a);
    12         int flag1=0,flag2=0;
    13         int num=0,num1=0,num2=0;
    14         for(int i=0;i<len/2;i++){
    15             if(a[i]==a[len-1-i])num++;
    16             else{
    17                 flag1=i;flag2=len-1-i;break;
    18             }
    19         }
    20         //cout<<flag1<<" "<<flag2<<endl;
    21         for(int i=flag1+1;i<=len/2;i++){
    22             if(a[i]!=a[len-1-i+1]){   //这个比较容易想错
    23                 num1++;
    24                 //cout<<a[i]<<" "<<a[len-1-i+1]<<endl;
    25             }
    26         }
    27         for(int i=flag1;i<len/2;i++){
    28             if(a[i]!=a[len-1-i-1]){   //同上,易错
    29                 num2++;
    30                 //cout<<a[i]<<" "<<a[len-1-i-1]<<endl;
    31             }
    32         }
    33         //cout<<num<<" "<<num1<<" "<<num2<<endl;
    34         if(num==len/2){
    35             printf("YES
    ");
    36             printf("%d
    ",len/2+1);
    37         }
    38         else if(num1==0){
    39             printf("YES
    ");
    40             printf("%d
    ",flag1+1);
    41         }
    42         else if(num2==0){
    43             printf("YES
    ");
    44             printf("%d
    ",flag2+1);
    45         }
    46         else printf("NO
    ");
    47     }
    48     return 0;
    49 }
  • 相关阅读:
    成功的速度一定要大于父母老去的速度
    luogg_java学习_09_泛型_集合
    luogg_java学习_08_设计模式_API
    luogg_java学习_07_抽象类_接口_多态学习总结
    报表请求默认输出格式(html或者excel)设置
    XML报表开发基本过程
    rtf模板常用技巧
    xml模板提交请求submit_request
    XML基础知识
    HTML语言常用语法
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9703047.html
Copyright © 2011-2022 走看看