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

      

  • 相关阅读:
    命令基础
    绑定在表单验证上的应用
    绑定和绑定的各种使用场景
    双向数据绑定
    事件
    委托应用及泛型委托和多播委托
    委托
    LINQ
    反射重要属性方法
    反射基本内容
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7994747.html
Copyright © 2011-2022 走看看