2013 成都网络赛 1004 Minimum palindrome
题目大意:用m个字母组成一个长度为N的字符串,使得最长的回文子串 的长度最小。 并且要求字典序最小。
思路:分类模拟。
当M为1 的时候就直接输出N个A
当M大于2的时候就循环ABC
当M等于2的时候
先枚举出当N<9 的情况,因为此时可以用最长串长度为 3 的基础上得到。
而当N>9的时候。
其实就是 aababb 为循环节的一个循环。但是此时是建立在最长串为4的基础上得到
但是有另外的情况就是
m==2 n%6<=4的时候最后面就不是循环循环节了。
例如:
m=2 n=10
aababbaaaa.
而不是
aababbaaba.
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <map>
#include <set> using namespace std; #ifdef WIN
typedef __int64 LL;
#define iform "%I64d"
#define oform "%I64d\n"
#else
typedef long long LL;
#define iform "%lld"
#define oform "%lld\n"
#endif const double eps = 10e-9;
#define SI(a) scanf("%d", &(a))
#define SDI(a, b) scanf("%d%d", &(a), &(b))
#define SUI(a) scanf("%ud", &(a))
#define S64I(a) scanf(iform, &(a))
#define SS(a) scanf("%s", (a))
#define SC(a) scanf("%c", &(a))
#define PI(a) printf("%d\n", a)
#define P64I(a) printf(oform, a)
#define Max(a, b) (a > b ? a : b)
#define Min(a, b) (a < b ? a : b)
#define MSET(a, b) (memset(a, b, sizeof(a)))
#define Mid(L, R) (L + (R - L)/2)
#define ABS(a) (a > 0 ? a : -a)
#define REP(i, n) for(int i=0; i < (n); i++)
#define FOR(i, a, n) for(int i=(a); i <= (n); i++)
typedef unsigned int UINT; const char tab[8][20] = {
"a", "ab", "aab", "aabb", "aaaba", "aaabab", "aaababb", "aaababbb"}; int main() {
int T; SI(T);
FOR(kase, 1, T) {
int m, n;
SDI(m, n); printf("Case #%d: ", kase); if(m>2) {
//int tn = n - m + 3;
int a = n / 3;
int b = n % 3;
REP(i, a) printf("abc");
REP(i, b) printf("%c", 'a'+i);
//REP(i, m-3) printf("%c", 'd'+i);
printf("\n");
} else if(m == 1) {
REP(i, n) putchar('a');
printf("\n");
} else {
if(n < 9) {
printf("%s\n", tab[n-1]);
} else {
char t[] = "babbaa";
printf("aaaa");
int a = (n-4) / 6;
int b = (n-4) % 6;
REP(i, a) printf("babbaa");
if(b <= 2) REP(i, b) putchar('a');
else REP(i, b) putchar(t[i]);
printf("\n");
}
}
} return 0;
}
2013 成都网络赛 1004 Minimum palindrome的更多相关文章
- HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)
Minimum palindrome Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU 4762 Cut the Cake (2013长春网络赛1004题,公式题)
Cut the Cake Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- HDU 4751 Divide Groups (2013南京网络赛1004题,判断二分图)
Divide Groups Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- HDU 4741 Save Labman No.004 (2013杭州网络赛1004题,求三维空间异面直线的距离及最近点)
Save Labman No.004 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU 4737 A Bit Fun (2013成都网络赛)
A Bit Fun Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 4734 F(x) (2013成都网络赛,数位DP)
F(x) Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 4733 G(x) (2013成都网络赛,递推)
G(x) Time Limit: 2000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- HDU 4730 We Love MOE Girls (2013成都网络赛,签到水题)
We Love MOE Girls Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 2013成都网络赛 J A Bit Fun(水题)
A Bit Fun Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
随机推荐
- 在MySQL中创建实现自增的序列(Sequence)的教程
这篇文章主要介绍了在MySQL中创建实现自增的序列(Sequence)的教程,分别列举了两个实例并简单讨论了一些限制因素,需要的朋友可以参考下 项目应用中,曾有以下一个场景: 接口中要求发送一个int ...
- 面试题之请写出用于校验 HTML 文本框中输入的内容全部为数字 的 javascript 代码
<input type="text" id="d1" onblur=" chkNumber(this)"/> <scrip ...
- PHP-购物网站开发设计(二)
2015-07-7 今天介绍购物网站的后台数据库设计,数据库使用的是MySQL (1)在MySQL数据库中新建Database,命名为test (2)在test下新建三个数据表,分别为mismatch ...
- [Swust OJ 360]--加分二叉树(区间dp)
题目链接:http://acm.swust.edu.cn/problem/360/ Time limit(ms): 1000 Memory limit(kb): 65535 Description ...
- 视频(其他)下载+tomcat 配置编码+图片上传限制大小
视频下载:前台 jsp function downVideo(value,row,index){ return '<a href="<%=basePath%>admin/v ...
- bzoj 1007 : [HNOI2008]水平可见直线 计算几何
题目链接 给出n条直线, 问从y轴上方向下看, 能看到哪些直线, 输出这些直线的编号. 首先我们按斜率排序, 然后依次加入一个栈里面, 如果刚加入的直线, 和之前的那条直线斜率相等, 那么显然之前的会 ...
- python自学笔记(十)语句与数据结构应用
1.最基本的迭代 for x in y 2.如何迭代字典 for x,y in a.items(): print:x,y 3.如何为字典排序 key_list = a.keys() key_list. ...
- 帝国cms本地搬家到服务器文章路径问题?
由于我的服务器不支持采集功能,我只能选择先在本地采集好文章发布于本地,再打算同步于服务器. 按照官方的做法, 1.先进后台备份了网站的所有数据,系统——备份与恢复数据——备份数据 2.将e\admin ...
- DB2 权限控制
http://blog.csdn.net/liujinwei2005/article/details/8606983 http://www.ibm.com/developerworks/cn/data ...
- QT太多的内容和模块,怎么办?
我有个问题,QT可以做许多不同的开源项目,而且每个QT新版本都那么内容,感觉学不过来.用不过来那么我们还应该学习和使用其它语言吗? 如果回答,在需要的时候学习,那么这句话意味着,这几年你基本上就局限于 ...