题目链接:http://codeforces.com/contest/465/problem/C

题意:给出一个不存在2个或以上回文子串的字符串,全是由小写字母组成而且字母下表小于p,问刚好比这个字符串

大的字符串是什么,如果没有输出NO

题解:就是遍历一遍当前字母要么不变要么增大,如果增大自行构成后续最小。如果等于继续遍历。

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
char s[1010];
int a[1010] , c[1010][1010];
int n , p;
int main() {scanf("%d%d" , &n , &p);scanf("%s" , s + 1);for(int i = 1 ; i <= n ; i++) {a[i] = s[i] - 'a';}a[0] = -1;memset(c , -1 , sizeof(c));for(int i = 1 ; i <= n ; i++) {for(int j = 1 ; j < i ; j++) {c[i][j] = a[j];}for(int j = a[i] + 1 ; j < p ; j++) {if(i == 1) {c[i][i] = j;break;}else {if(j != a[i - 1] && j != a[i - 2]) {c[i][i] = j;break;}}}for(int j = i + 1 ; j <= n ; j++) {for(int k = 0 ; k < p ; k++) {if(k != c[i][j - 1] && k != c[i][j - 2]) {c[i][j] = k;break;}}}}int flag = 1 , temp = 0;for(int i = n ; i >= 1 ; i--) {flag = 0;temp = i;for(int j = 1 ; j <= n ; j++) {if(c[i][j] == -1) {flag = 1;break;}}if(!flag) break;}if(!flag) {for(int i = 1 ; i <= n ; i++) {char cp = c[temp][i] + 'a';printf("%c" , cp);}printf("\n");}else {printf("NO\n");}return 0;
}

转载于:https://www.cnblogs.com/TnT2333333/p/6727401.html

codeforces 465 C. No to Palindromes!(暴力+思维)相关推荐

  1. 【CodeForces - 569C】Primes or Palindromes? (思维,分析范围,暴力枚举判断)

    题干: Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are ...

  2. Codeforces Round #315 (Div. 1) A. Primes or Palindromes? 暴力

    A. Primes or Palindromes? Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://poj.org/problem?id=326 ...

  3. 枚举 ---- Codeforces Round #711 (Div. 2) D. Bananas in a Microwave[枚举暴力+思维优化]

    题目链接 题目大意: 就是你有n次操作,每次操作给你三个参数:ti,xi,yit_i,x_i,y_iti​,xi​,yi​. 如果ti==1t_i == 1ti​==1你可以进行k=k+xik=k+x ...

  4. CodeForces - 1215C Swap Letters(暴力+思维+模拟)

    题目链接:点击查看 题目大意:给出两个只由字母a和字母b所组成的字符串,我们记为s和t,现在我们可以交换两个字符串任意位置的字母(只能在两个串之间交换,不能在自己串中交换),现在问能否通过一定次数的交 ...

  5. Codeforces Round #614 (Div. 2) D. Aroma‘s Search 暴力 + 思维

    传送门 文章目录 题意: 思路: 题意: 给你x0,y0,ax,ay,bx,byx_0,y_0,a_x,a_y,b_x,b_yx0​,y0​,ax​,ay​,bx​,by​,让后根据[ax∗xi−1+ ...

  6. Codeforces 1633 E. Spanning Tree Queries ——暴力,kruskal,思维

    This way 题意: 给你一张无向带权图,每次给你一个w,然后图中每条边的权值-w后取绝对值.并构造最小生成树.你的答案异或上这棵树的总权值,问你最后答案是多少. 题解: 我把+1写在了括号里,导 ...

  7. Codeforces Gym 100513G G. FacePalm Accounting 暴力

    G. FacePalm Accounting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513 ...

  8. Codeforces Gym 101473D Folding Machine (暴力搜索)

    题目连接: http://codeforces.com/gym/101473/attachments 原先以为按照这个复杂度还要剪一下支,没想到暴力dfs完全可以通过. 代码: #include &l ...

  9. Codeforces 864 B Polycarp and Letters 暴力

    题目链接: http://codeforces.com/problemset/problem/864/B 题目描述: 看看连续子串都是小写字母的字母种类最多是多少 解题思路: 暴力, 枚举起点和终点, ...

最新文章

  1. 从零开始React:一档 React环境搭建,语法规则,基础使用
  2. collections模块简介
  3. 关于枚举概念的理解以及存在意义
  4. 开源最大的谎言是什么?
  5. git服务器维护 备份,gitlab服务运维,备份与恢复 - 橙子柠檬's Blog
  6. Java poi读取,写入Excel2003
  7. 背景宽高随文本变化_中科大提出ContourNet:更准确的任意形状场景文本检测新方法...
  8. python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?
  9. varchar2(100 char)是什么意思
  10. [转载]IIS 6.0配置HTTP压缩的步骤
  11. WinDriver简介(或介绍)
  12. HTTP之PUT请求
  13. valgrind安装及使用
  14. 头哥教学平台-泰坦尼克号生还预测
  15. 大数据就业前景及职能定位解析!
  16. 关闭 Gatekeeper
  17. OpenCV学习心得:Scalar()的几种使用方法
  18. iOS---学习研究大牛Git高星项目YYCategories(四)
  19. BZOJ1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛
  20. 主机上连接到 vmware虚拟机的三种方式

热门文章

  1. selenium资料
  2. [恢]hdu 1412
  3. UVA 10746 Crime Wave - The Sequel
  4. 我心目中的编程高手(转)
  5. Hibernate的主键生成器generator(zhuan)
  6. winform_界面美化设计_显示/隐藏侧边栏
  7. mysql 同步 存储过程_mysql 存储过程 实现数据同步
  8. hive金额怎么转换千位分隔符_金额字段加千位分隔符方法
  9. java 业务层业务接口层_Java web五层架构
  10. mysql repalication_mysql replication(主从复制)(一)MS模式