这道题找下规律,3个字母或者以上的时候就用abcabcabc....循环即可。

一个字母时,就是aaaaa.....;

当只有2个字母时!
s[1][]=a";

s[2][]="ab";

s[3][]="aab";

s[4][]="aabb";

s[5][]="aaaba";

s[6][]=""aaabab";

s[7][]=""aaababb";

s[8][]=""aaababbb";

s[9][]=""aaaababba";

下面是循环的字符串!!!!
add[1][]="a";

add[2][]="aa";

add[3][]="aaa";

add[4][]="aaaa";

add[5][]="aabab";

add[6][]="aababb";

打表程序!!!

 下面是打表程序!!!!

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include<vector>
#include<time.h>
#include<algorithm>
using namespace std;
int dp[];
int pan(int s[],int n)
{
int i,j,k;
int ans=;
for(i=;i<=n;i++)
{
int flag=;
for(j=;j<=n-i+;j++)
{
int x,y;
x=j;y=i+j-;
while(x<=y)
{
if(s[x]!=s[y])break;
x++;y--;
}
if(x>y)flag=;
}
if(flag)ans=i;
}
return ans;
}
int main()
{
int i,j;
int n;
int s[];
while(~scanf("%d",&n))
{
int ans,L;
L=;
for(i=(<<n)-;i>=;i--)
{
int tmp=i;
for(j=n;j>=;j--)
{
s[j]=tmp%;
tmp/=;
}
int tt=pan(s,n);
if(tt<=L)L=tt,ans=i;
}
int tmp=ans;
for(j=n;j>=;j--)
{
s[j]=tmp%;
tmp/=;
}
for(i=;i<=n;i++)
if(s[i])printf("b");
else printf("a");
printf("\n");
}
}
/*
2
ab
3
aab
4
aabb
5
aaaba
6
aaabab
7
aaababb
8
aaababbb
9
aaaababba
10
aaaababba a
11
aaaababba aa
12
aaaababba aaa
13
aaaababba abab
14
aaaababba ababb
15
aaaababba ababba
16
aaaababba ababba a
17
aaaababba ababba aa
18
aaaababba ababba aaa
19
aaaababba ababba abab
20
aaaababba ababba ababb
21
aaaababba ababba ababba
*/

正解!!!

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include<vector>
#include<time.h>
#include<algorithm>
using namespace std;
int cnt[];
char s[][],add[][];
void pre()
{
s[][]='a';s[][]=;
s[][]='a';s[][]='b';s[][]=;
s[][]='a';s[][]='a';s[][]='b';s[][]=;
s[][]='a';s[][]='a';s[][]='b';s[][]='b';s[][]=;
s[][]='a';s[][]='a';s[][]='a';s[][]='b';s[][]='a';s[][]=;
s[][]='a';s[][]='a';s[][]='a';s[][]='b';s[][]='a';s[][]='b';s[][]=;
s[][]='a';s[][]='a';s[][]='a';s[][]='b';s[][]='a';s[][]='b';s[][]='b';s[][]=;
s[][]='a';s[][]='a';s[][]='a';s[][]='b';s[][]='a';s[][]='b';s[][]='b';s[][]='b';s[][]=;
s[][]='a';s[][]='a';s[][]='a';s[][]='a';s[][]='b';s[][]='a';s[][]='b';s[][]='b';s[][]='a';s[][]=; add[][]='a';add[][]=;
add[][]='a';add[][]='a';add[][]=;
add[][]='a';add[][]='a';add[][]='a';add[][]=;
add[][]='a';add[][]='b';add[][]='a';add[][]='b';add[][]=;
add[][]='a';add[][]='b';add[][]='a';add[][]='b';add[][]='b';add[][]=;
add[][]='a';add[][]='b';add[][]='a';add[][]='b';add[][]='b';add[][]='a';add[][]=;
}
int main()
{
pre();
int i,j;
int T;
int ca=;
scanf("%d",&T);
while(T--)
{
ca++;
int m,n;
scanf("%d%d",&m,&n);
printf("Case #%d: ",ca);
if(m==)
{
for(i=;i<=n;i++)
printf("a");
printf("\n");
continue;
}
if(m==)
{
if(n<=)printf("%s",s[n]);
else
{
printf("%s",s[]);
n=n-;
for(i=;i<=n/;i++)
{
printf("%s",add[]);
}
if(n%)printf("%s",add[n%]);
}
printf("\n");
continue;
}
char tmp='a';
for(i=;i<=n;i++)
{
printf("%c",tmp);
if(i%==)tmp='a';
else tmp++;
}
printf("\n");
}
}

hdu4731 Minimum palindrome (找规律)的更多相关文章

  1. 2013 ACM/ICPC Asia Regional Chengdu Online hdu4731 Minimum palindrome

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  3. HDU 4731 Minimum palindrome (找规律)

    M=1:aaaaaaaa…… M=2:DFS+manacher, 暴出N=1~25的最优解,找规律.N<=8的时候直接输出,N>8时,头两个字母一定是aa,剩下的以aababb循环,最后剩 ...

  4. HDU 4731 Minimum palindrome 打表找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=4731 就做了两道...也就这题还能发博客了...虽然也是水题 先暴力DFS打表找规律...发现4个一组循环节.. ...

  5. POJ2402 Palindrome Numbers第K个回文数——找规律

    问题 给一个数k,给出第k个回文数  链接 题解 打表找规律,详见https://www.cnblogs.com/lfri/p/10459982.html,差别仅在于这里从1数起. AC代码 #inc ...

  6. HDOJ 4731 Minimum palindrome

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  7. 2013 ACM/ICPC Asia Regional Chengdu Online 1004 Minimum palindrome

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  8. Ural 2045. Richness of words 打表找规律

    2045. Richness of words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2045 Description For ...

  9. Ural 2037. Richness of binary words 打表找规律 构造

    2037. Richness of binary words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2037 Descripti ...

随机推荐

  1. 第五周总结 & 实验报告(三)

    第五周总结 一.继承       1.类的继承格式 class 父类{} class 子类 extends 父类{} 2.扩展类的功能 class 父类{ 父类属性: .......... ..... ...

  2. TiDB官方文档

    TiDB官方文档: https://github.com/pingcap/docs-cn TiDB 整体架构 TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiK ...

  3. PropertyInfo、FieldInfo、MemberInfo的区别

    public class TestClass { ;//私有一律获取不到 public int b { ; } ; } } ; } public static void TestMethod() { ...

  4. springboot日期格式转换

    post: @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") GET: @Dat ...

  5. 【IOS打包】ARCHIVE FAILED:Command CodeSign failed with a nonzero exit code

    [问题] [解决办法] 用xcode打开项目 command + k 重启电脑 参照:xcode打包报错command codesign failed with a nonzero exit code ...

  6. import 和组件库按需引入

    概述 今天查资料查到了一些有趣的东西,记录下来,供以后开发时参考,相信对其他人也有用. 参考资料: import.require.export.module.exports 混合使用详解 从 impo ...

  7. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  8. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_07.环境搭建的注意事项

    2 resources下面创建目录要一级一级的创建,下面这个创建的就是一级目录而不是三级 在文件夹下看到的目录也是一级的 因此这里创建目录需要一个个的去创建 配置文件和dao类这两个目录要保持一致,这 ...

  9. jmeter之报告输出(html)

    在使用jmeter进行测试时,我们需要生成相应的测试报告,jmeter3.0之后有自带的测试报告. 在测试报告的格式和输出内容不满足需求时,我们可以根据需要去修改其配置文件(jmeter.proper ...

  10. 【MM系列】SAP MM模块-BOM展开函数

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-BOM展开函数   ...