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

      

  • 相关阅读:
    vue框架组件id获取
    Proxy 与 Object.defineProperty 优劣对比
    vue 父组件监听子组件生命周期
    Vue 的父组件和子组件生命周期钩子函数执行顺序
    k8s 集群部署--学习
    Linux命令:ipcs/ipcrm命令
    Python模块
    XAMPP+TestLink
    bug管理工具
    批量管理工具:pssh/ansible
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7994747.html
Copyright © 2020-2023  润新知