hdu4731 Minimum palindrome (找规律)
这道题找下规律,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 (找规律)的更多相关文章
- 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 ...
- HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)
Minimum palindrome Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU 4731 Minimum palindrome (找规律)
M=1:aaaaaaaa…… M=2:DFS+manacher, 暴出N=1~25的最优解,找规律.N<=8的时候直接输出,N>8时,头两个字母一定是aa,剩下的以aababb循环,最后剩 ...
- HDU 4731 Minimum palindrome 打表找规律
http://acm.hdu.edu.cn/showproblem.php?pid=4731 就做了两道...也就这题还能发博客了...虽然也是水题 先暴力DFS打表找规律...发现4个一组循环节.. ...
- POJ2402 Palindrome Numbers第K个回文数——找规律
问题 给一个数k,给出第k个回文数 链接 题解 打表找规律,详见https://www.cnblogs.com/lfri/p/10459982.html,差别仅在于这里从1数起. AC代码 #inc ...
- HDOJ 4731 Minimum palindrome
Minimum palindrome Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 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 ...
- Ural 2045. Richness of words 打表找规律
2045. Richness of words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2045 Description For ...
- Ural 2037. Richness of binary words 打表找规律 构造
2037. Richness of binary words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2037 Descripti ...
随机推荐
- ES排序值相同顺序随机的问题
ES排序值相同顺序随机的问题 code[class*="language-"] { padding: .1em; border-radius: .3em; white-space: ...
- C#读取word文档中的内容
原文地址 http://blog.csdn.net/yhrun/article/details/7674540 在使用前需要添加引用巨硬的com组件:Microsoft Word 12.0 objec ...
- Oracle JET Router 与 Module 数据传递
Oracle JET 组件间数据传递方法. 路由:父路由:customers Router 子路由: cust Router 这里 Router 和 module 结合使用. customer 包括 ...
- Mysql 创建函数出现This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary mys ...
- 十三、RF中对json的解析
A.需要安装的库 1.RequestsLibrary,安装命令:pip2 install requests 2.HttpLibrary,安装命令:pip2 install robotframework ...
- Flink架构和调度
1.Flink架构 Flink系统的架构与Spark类似,是一个基于Master-Slave风格的架构,如下图所示: Flink集群启动时,会启动一个JobManager进程.至少一个TaskMana ...
- frewalld假端口
之前服务器没有开启firewalld,上面有lnmp.zabbix服务,后来开启了防火墙,发现端口都在,但是不能访问zabbix,后来用firewalld把端口重新开启.重新加载后才可以访问,这就是f ...
- 【SpringMVC】---RequestMapping、Ant 路径、PathVariable 注解、HiddenHttpMethodFilter 过滤器、用 POJO 作为参数
一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
- elasticsearch7.0安装及配置优化
简单讲ES开箱即用,不用任何配置也能玩转搜索引擎:以下内容是根据易企秀线上实际使用场景进行的安装和配置,支持冷热数据分离 1.安装 Linux 环境下载安装包 curl -L -O https://a ...
- FTP搭建YUM源服务器
一.FTP搭建YUM源服务器 1.服务器 挂载centos镜像[root@localhost ~]#yum install vsftpd[root@localhost ~]#systemctl sta ...