codeforces 465 C. No to Palindromes!(暴力+思维)
题目链接: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!(暴力+思维)相关推荐
- 【CodeForces - 569C】Primes or Palindromes? (思维,分析范围,暴力枚举判断)
题干: Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are ...
- 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 ...
- 枚举 ---- 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 ...
- CodeForces - 1215C Swap Letters(暴力+思维+模拟)
题目链接:点击查看 题目大意:给出两个只由字母a和字母b所组成的字符串,我们记为s和t,现在我们可以交换两个字符串任意位置的字母(只能在两个串之间交换,不能在自己串中交换),现在问能否通过一定次数的交 ...
- 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+ ...
- Codeforces 1633 E. Spanning Tree Queries ——暴力,kruskal,思维
This way 题意: 给你一张无向带权图,每次给你一个w,然后图中每条边的权值-w后取绝对值.并构造最小生成树.你的答案异或上这棵树的总权值,问你最后答案是多少. 题解: 我把+1写在了括号里,导 ...
- Codeforces Gym 100513G G. FacePalm Accounting 暴力
G. FacePalm Accounting Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513 ...
- Codeforces Gym 101473D Folding Machine (暴力搜索)
题目连接: http://codeforces.com/gym/101473/attachments 原先以为按照这个复杂度还要剪一下支,没想到暴力dfs完全可以通过. 代码: #include &l ...
- Codeforces 864 B Polycarp and Letters 暴力
题目链接: http://codeforces.com/problemset/problem/864/B 题目描述: 看看连续子串都是小写字母的字母种类最多是多少 解题思路: 暴力, 枚举起点和终点, ...
最新文章
- 从零开始React:一档 React环境搭建,语法规则,基础使用
- collections模块简介
- 关于枚举概念的理解以及存在意义
- 开源最大的谎言是什么?
- git服务器维护 备份,gitlab服务运维,备份与恢复 - 橙子柠檬's Blog
- Java poi读取,写入Excel2003
- 背景宽高随文本变化_中科大提出ContourNet:更准确的任意形状场景文本检测新方法...
- python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?
- varchar2(100 char)是什么意思
- [转载]IIS 6.0配置HTTP压缩的步骤
- WinDriver简介(或介绍)
- HTTP之PUT请求
- valgrind安装及使用
- 头哥教学平台-泰坦尼克号生还预测
- 大数据就业前景及职能定位解析!
- 关闭 Gatekeeper
- OpenCV学习心得:Scalar()的几种使用方法
- iOS---学习研究大牛Git高星项目YYCategories(四)
- BZOJ1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛
- 主机上连接到 vmware虚拟机的三种方式
热门文章
- selenium资料
- [恢]hdu 1412
- UVA 10746 Crime Wave - The Sequel
- 我心目中的编程高手(转)
- Hibernate的主键生成器generator(zhuan)
- winform_界面美化设计_显示/隐藏侧边栏
- mysql 同步 存储过程_mysql 存储过程 实现数据同步
- hive金额怎么转换千位分隔符_金额字段加千位分隔符方法
- java 业务层业务接口层_Java web五层架构
- mysql repalication_mysql replication(主从复制)(一)MS模式