zoukankan      html  css  js  c++  java
  • Codeforces Round #410 (Div. 2) A. Mike and palindrome【判断能否只修改一个字符使其变成回文串】

    A. Mike and palindrome
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Mike has a string s consisting of only lowercase English letters. He wants to change exactly onecharacter from the string so that the resulting one is a palindrome.

    A palindrome is a string that reads the same backward as forward, for example strings "z", "aaa", "aba", "abccba" are palindromes, but strings "codeforces", "reality", "ab" are not.

    Input

    The first and single line contains string s (1 ≤ |s| ≤ 15).

    Output

    Print "YES" (without quotes) if Mike can change exactly one character so that the resulting string is palindrome or "NO" (without quotes) otherwise.

    Examples
    input
    abccaa
    output
    YES
    input
    abbcca
    output
    NO
    input
    abcda
    output
    YES

     【代码】:

    #include <bits/stdc++.h>
    using namespace std;
    int cnt=0;
    char a[30];
    int main()
    {
        scanf("%s",a);
        int n=strlen(a);
        for(int i=0;i<n/2;i++)//注意!回文串只要判长度一半
        {
            if(a[i]!=a[n-i-1])
                cnt++;
        }
        //cout<<cnt<<endl;
        if(((n%2)&&(cnt==0))||cnt==1) puts("YES");//注意特判
        else puts("NO");
        return 0;
    }
    

      

  • 相关阅读:
    串行通讯FIFO法和中断处理程序中直接处理的比较
    [FSM]状态机入门——程咬金只要三斧头厉害
    [FSM]状态机平面(任务平面)
    KMP算法
    【对线面试官】 Java 泛型
    【对线面试官】Java注解
    古文明中的经典作品
    《我是猫》总结
    Vue快速使用
    《算法帝国》总结
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7994747.html
Copyright © 2011-2022 走看看