设为首页 加入收藏

TOP

Codeforces 464A No to Palindromes!(构造)
2015-07-20 17:43:59 来源: 作者: 【 】 浏览:4
Tags:Codeforces 464A Palindromes 构造

题目链接:Codeforces 464A No to Palindromes!

题目大意:给定n和m,以及一个字符串s,s不存在长度大于2的回文子串,现在要求输出一个字典比s大的字符串,并

且说同样不存在长度大于2的回文子串。

解题思路:直接去构造即可,从最后一位开始,每次只要考虑该字符是否和前两个字符相同即可。

#include 
   
     #include 
    
      #include 
     
       using namespace std; const int maxn = 1005; int N, P; char s[maxn]; bool check (int v) { if (v >= 1 && s[v] == s[v-1]) return false; if (v >= 2 && s[v] == s[v-2]) return false; return true; } bool solve (int v) { while(true) { if (v >= N) return true; if (v < 0) return false; if (s[v] - 'a' == P - 1) { s[v] = 'a' - 1; v--; } else { int k = (s[v] - 'a' + 1) % P; s[v] = 'a' + k; if (check(v)) v++; } } return false; } int main () { scanf("%d%d%s", &N, &P, s); if (!solve(N-1)) printf("NO\n"); else printf("%s\n", s); return 0; }
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CF282 E Sausage Maximization[tr.. 下一篇STL algorithm算法copy_if(8)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)
·2025年,JAVA还值得 (2025-12-25 09:24:16)
·用 C 语言或者限制使 (2025-12-25 08:50:05)
·C++构造shared_ptr为 (2025-12-25 08:50:01)