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 ...
随机推荐
- SQL数据库关键字和列名冲突处理
在设计SQL数据库的时候可能由于考虑不全,使列名和数据库内关键字冲突,可能导致Query不能被正确识别,对列名要加[]处理.
- 快速检查SQL两表数据是否一致
1前话 项目内实现了一新功能:克隆数据库. 2目标 克隆并非用SQLSERVER克隆,故完毕后需要检查各表内一些数据与原表一致性.一些表中的某一些列容许不一致. 3实现 将两表的需要检查的几列取出,相 ...
- Bandwidthd+Postgresql数据库配置笔记
Bandwidthd+Postgresql数据库配置笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/zjianbo/article/detai ...
- crt连接vitualbox中centos虚拟机
在virtalbox中安装了centos虚拟机后,在虚拟机中直接操作很是不方便,所以想用crt连接虚拟机, 1.打开virtualbox,设置-网络,网络连接2设置连接方式为“Bridged Adap ...
- 3.PHP 教程_PHP 语法
基础的PHP语法 PHP脚本可以放在文档中的任何位置. PHP脚本以<?php开始,以?>结束: <?php //PHP代码 ?> PHP文件的默认文件扩展名是". ...
- 原型扩展的方法解决IE和Firefox的Js兼容问题
if(!document.all){//textContent->text Element.prototype.__defineGetter__('text',function(){ret ...
- 针对PCB飞针测试快速有效的技巧
测试探针通过多路传输(multiplexing)系统连接到驱动器(信号发生器.电源供应等)和传感器(数字万用表.频率计数器等)来测试UUT上的元件.当一个元件正在测试的时候,UUT上的其它元件通过探针 ...
- 如何使用robots不让百度和google收录
如何使用robots不让百度和google收录 有没有想过,如果我们某个站点不让百度和google收录,那怎么办? 搜索引擎已经和我们达成一个约定,如果我们按约定那样做了,它们就不要收录. 这个写 ...
- C++模板:欧拉函数
单个欧拉函数 int eular(int n){ int ret=1,i; for(i=2;i*i<=n;i++) if(n%i==0){ n/=i,ret*=i-1; while(n%i==0 ...
- Kapit控件方法笔记
r.kapit.visualizer.renderers.DefaultItemRenderer //整个节点添加click处理函数对象类型 fr.kapit.visualizer.controls. ...