zoukankan      html  css  js  c++  java
  • [CF798A] Mike and palindrome(水题,trick)

    题目链接:http://codeforces.com/contest/798/problem/A

    题意:必须修改一个字符,问能不能形成回文串。

    trick有两个:必须修改一个字符,以及奇数字符的时候,即使原本没修改也可以修改中间那个字符。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 const int maxn = 55;
     5 char s[maxn];
     6 
     7 int main() {
     8     // freopen("in", "r", stdin);
     9     while(~scanf("%s", s)) {
    10         bool exflag = 0, ok = 1;
    11         int n = strlen(s);
    12         for(int i = 0; i < n; i++) {
    13             if(s[i] == s[n-i-1]) continue;
    14             if(exflag) {
    15                 ok = 0;
    16                 break;
    17             }
    18             else {
    19                 s[n-i-1] = s[i];
    20                 exflag = 1;
    21             }
    22         }
    23         if(ok && exflag) puts("YES");
    24         else if(ok && n & 1) puts("YES");
    25         else puts("NO");
    26     }
    27     return 0;
    28 }
  • 相关阅读:
    裴蜀定理
    欧几里得算法
    最大公约数
    质数和合数
    整除
    CSP斗地主
    skkyk:点分治
    题解:P2130 狂奔的Wzf
    题解:最大子树和
    博客大换主题祭
  • 原文地址:https://www.cnblogs.com/kirai/p/6867306.html
Copyright © 2011-2022 走看看