codeforce No to Palindromes!(枚举)
1 /* 2 题意:给定一个字符串中没有任何长度>1的回文子串!求按照字典序的该串的下一个字符串 3 也不包含长度>1的任何回文子串! 4 5 思路:从最低位进行枚举,保证第i位 不与 第 i-1位和第 i-2位相同就好了!那么因为前边i-1 6 位没有长度>1的回文子串,那么前i位也不会出现!最后将最后边的字符按照相同的原则补齐就好了! 7 */ 8 #include<iostream> 9 #include<cstdio> 10 #include<cstring> 11 #include<algorithm> 12 13 using namespace std; 14 15 16 char ch[1005]; 17 18 int main(){ 19 int n, p; 20 while(scanf("%d%d", &n, &p)!=EOF){ 21 ch[0]='0'; 22 ch[1]='0'; 23 int up='a'+p-1; 24 scanf("%s", ch+2);//从字符串第二位输入是因为第一位,第二位也要枚举 25 bool flag=false; 26 for(int i=++n; i>=2 && !flag; --i){//枚举每一位 27 for(int j=ch[i]+1; j<=up && !flag; ++j){//每一位应该出现的字符(从小到大) 28 ch[i]=j; 29 if(ch[i]!=ch[i-1] && ch[i]!=ch[i-2]){//保证三者互不相同 30 flag=true; 31 for(int k=i+1; k<=n; ++k){//补全后面 32 int cc; 33 for(cc='a'; cc<=up; ++cc) 34 if(cc!=ch[k-1] && cc!=ch[k-2]) break; 35 ch[k]=cc; 36 } 37 } 38 } 39 } 40 if(flag) printf("%s\n", ch+2); 41 else printf("NO\n"); 42 } 43 return 0; 44 }
转载于:https://www.cnblogs.com/hujunzheng/p/3964726.html
codeforce No to Palindromes!(枚举)相关推荐
- Codeforces Round #315 (Div. 2)
题目传送:Codeforces Round #315 (Div. 2) A. Music 题意较难懂.只是仅仅要推公式就好了 注意到S+(q - 1) * t = q * t; 仅仅须要t等于S就可以 ...
- codeforce 589B枚举
2017-08-25 12:00:53 writer:pprp 很简单的枚举,但是我调试了很长时间,出现各种各样的问题 /* theme:cf 589B writer:pprp declare:枚举 ...
- codeforce Pashmak and Buses(dfs枚举)
1 /* 2 题意:n个同学,k个车, 取旅游d天! 3 要求所有的学生没有两个或者两个以上的在同一辆车上共同带d天! 输出可行的方案! 4 5 对于d行n列的矩阵,第i行第j列表示的是第i天第j个同 ...
- P1217 [USACO1.5]回文质数 Prime Palindromes(技巧+暴力枚举+线性筛)
技巧:就是偶数位的回文数字一定不是质数---------证明:奇数位之和sum1==偶数位之和sum2的数字可以被11整除.(11除外,这是一个坑点) 最高位,最低位必须是 1, 3, 7, 9 暴力 ...
- 【CodeForces - 569C】Primes or Palindromes? (思维,分析范围,暴力枚举判断)
题干: Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are ...
- 【ZOJ - 3715】Kindergarten Election(枚举得票数,贪心)
题干: At the beginning of the semester in kindergarten, the n little kids (indexed from 1 to n, for co ...
- luogu 题解 P1217 【[USACO1.5]回文质数 Prime Palindromes】
题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围 [a,b] (5 < a < b 100,000,00 ...
- 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes 题解 C/C++
知识点: 回文数有两种 一种是单数位数,abcba,一种是双数位数,abccba 而双数位数是质数的只有11,即偶位回文数全不是质数除了11:所以不需要枚举到1亿,到1千万就好了 以下几种方法供参考 ...
- day 20 暴力枚举
P3392 涂国旗 涂最少的格子(枚举) #include <bits/stdc++.h> using namespace std;int n, m, ans = 1e9; char a[ ...
最新文章
- Jupyter 官方神器:可视化 Debug 工具!
- 使用php连接mysql数据库_PHP使用mysql与mysqli连接Mysql数据库用法示例
- 228. Summary Ranges
- 数据结构笔记(一) 线性表(C语言描述)
- 电子换向电动机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 一个IE动画图标的小例子
- 设计模式之GOF23责任链模式
- java爬虫乱码_网络爬虫的乱码处理
- 图片自适应页面大小的简单HTML代码
- 迷你世界显示服务器错误,迷你世界登陆失败怎么办-迷你世界登陆未成功_牛游戏页游...
- ff14服务器显示位置,ff14服务器
- 在html中怎样写年月日的代码,注册时选择出生年月日的html+JS
- pygame 精灵精灵组
- linux基础-快速入门
- HTML播放华为云视频流,华为云点播服务视频管理功能强大,上云就是省心
- 为什么软件系统上云是大势所趋?
- javascript 关于年龄计算
- python把.CSV文件转换成.JSON格式文件并格式化储存
- 8个经典数据分析模型
- 创新密码532,YonSuite打造“SaaS+PaaS+生态”新模式
热门文章
- Refusing to install package with name “vue-i18n“ under a package
- vue中设置height:100%无效的问题及解决方法
- 解决idea修改html、js、css后,浏览器不能同步加载
- 调整eclipse、SpringToolSuite4编辑器的内存大小以及显示
- Springboot部署到Tomcat,可以不带项目名进行访问
- Spring 集成 mybatisPlus
- 修改Gradle本地仓库的位置 方法
- 好用的idea插件,一个字:真TM太爽了!
- Leetcode 707.设计链表
- 单一窗口关区备案_深圳跨境电商企业进出口备案,赶紧码下学习