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

      

  • 相关阅读:
    java泛型介绍
    JavaWeb---总结(十九)Session机制
    ServiceWorker入门介绍一
    Ehcache入门介绍一
    Hadoop入门介绍一
    给安卓端调用的短信发送接口demo
    Java开发需要注意的流程
    一些题
    省选模拟3
    省选模拟2
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7994747.html
Copyright © 2011-2022 走看看