hdu 4371 Minimum palindrome(13年成都网络赛D题)(找规律)
来源:互联网 发布:aso优化技巧 编辑:程序博客网 时间:2024/05/18 01:25
题意:让你使用小写字母表的前m个字母,然后组成一个长度为n的字符串,使其字符串的最大回文串的长度是所有构成长度为n串的最大回文串长度的最小值。输出字典序最小的串。
思路:当m==1 的时候,只能使用a ,那么a 循环即可。当 m>2时,此时使用三个数字典序最小,即使用abc循环即可。而m==2时,需要暴力打表找规律。通过打表发现,当n>8的时候前两位为aa,后面则是aababb循环。而小于8时特判。
暴力表用二进制表示,1表示b,0表示a,如下所示:(n<=20)
0
01
001
0011
00010
000101
0001011
00010111
000010110
0000101100
00001011000
000010110000
0000101100101
00001011001011
000010110010110
0000101100101100
00001011001011000
000010110010110000
0000101100101100101
00001011001011001011
代码如下:
#include <iostream>#include <cstdio>using namespace std;int n,m;char a[8]="aababb";int main(){ // freopen("in.txt","r",stdin); int t; scanf("%d",&t); int cas=1; while(t--) { printf("Case #%d: ",cas++); scanf("%d%d",&m,&n); if(m==1) { for(int i=0;i<n;i++) { printf("a"); } printf("\n"); } else if(m==2) { if(n==1) printf("a\n"); if(n==2) printf("ab\n"); if(n==3) printf("aab\n"); if(n==4) printf("aabb\n"); if(n==5) printf("aaaba\n"); if(n==6) printf("aaabab\n"); if(n==7) printf("aaababb\n"); if(n==8) printf("aaababbb\n"); if(n>8) { printf("aa"); n=n-2; int tmp=n/6; for(int i=0;i<tmp;i++) { printf("%s",a); } tmp=n%6; for(int i=0;i<tmp;i++) { printf("%c",a[i]); } printf("\n"); } } else { for(int i=0;i<n;i++) { if(i%3==0) printf("a"); if(i%3==1) printf("b"); if(i%3==2) printf("c"); } printf("\n"); } } return 0;}
- hdu 4371 Minimum palindrome(13年成都网络赛D题)(找规律)
- 数学题(找规律)-hdu-4371-Minimum palindrome
- HDU 4371 Minimum palindrome 解题报告(找规律)
- HDU - 4731 Minimum palindrome 找规律
- HDU 4731 Minimum palindrome+找规律技巧
- HDU_4731 Minimum palindrome(找规律)
- HDU 4731 Minimum palindrome(规律 构造)
- HDU 4293 Groups(12年成都网络赛-F题-DP)
- HDU 4296 Buildings(12年成都网络赛-I题-贪心)
- HDU 4288 Coder(12年成都网络赛-A题-离线 + 线段树)
- HDU 4038 Stone(11年成都网络赛-H题-贪心)
- HDU 4294 Multiple(12年成都网络赛-G题-BFS)
- HDOJ 4731 - Minimum palindrome 找规律
- hdu 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- HDU 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- hdu 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- hdu 4731 Minimum palindrome(暴力打表找规律)
- 11年成都网络赛
- 多线程临界区Demo
- getfileopenfilename的错误。
- C++设计模式之单例(Singleton)模式
- C#与C/C++的交互
- pthread线程的加锁问题——thread locking problems
- hdu 4371 Minimum palindrome(13年成都网络赛D题)(找规律)
- 内部类和匿名类的作用
- 对话框集合(code实例)
- Windows 下搭建Objective-C 开发环境
- 针对应用开发者的几点建议
- Objective-C语法快速参考
- axis2开发webservice之跨服务会话(Session)管理
- cocos2dx纹理缓存
- JavaScript数据类型及判断方法