hdu 4731 Minimum palindrome(暴力打表找规律)
来源:互联网 发布:读卡器java二次开发 编辑:程序博客网 时间:2024/06/08 04:19
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4731
题目大意:用字母表的前m个字母(有的可以不用)构造一个长度为n的字符串,要求这个字符串的最长回文串的长度最小。
思路:如果m ==1 ,那么就肯定全是a,如果m >= 3,可以证明肯定是 abc 这样循环,关键在于m == 2这里,也就是只有ab的时候。然后就是打表了,打前 20 个,很容易可以发现规律,有个循环节,然后最后再处理一下就好了,前几个特判。
这道题目真的囧了,下午比赛全卡在这题上了,没去想暴力打表找规律,然后一直在那边YY,唉,不说了,说多了都是泪啊。。 T^T 记住,以后找规律,先暴力打表,不要手算去!
代码如下:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;/*aabaabaabbaaabaaaababaaababbaaababbbaaaababbaaaaababbaaaaaababbaaaaaaababbaaaaaaaababbaababaaaababbaababbaaaababbaababbaaaaababbaababbaaaaaababbaababbaaaaaaababbaababbaaaaaaaababbaababbaabab*/int main(){ int T; scanf("%d",&T); for(int cas = 1;cas<=T;cas ++) { int m,n; scanf("%d%d",&m,&n); printf("Case #%d: ",cas); if(m == 1) { for(int i = 0;i<n;i++) printf("a"); puts(""); } else if(m == 2) { if(n == 1) { puts("a"); } else if(n ==2) { puts("ab"); } else if(n == 3) { puts("aab"); } else if(n == 4) { puts("aabb"); } else if(n ==5) { puts("aaaba"); } else if(n == 6) { puts("aaabab"); } else if(n ==7) { puts("aaababb"); } else if(n == 8) { puts("aaababbb"); } else { printf("aa"); int num = (n - 2)/6; for(int i = 1;i<=num;i++) { printf("aababb"); } int ed = num*6 +2; if(ed <= n - 1 || ed >= n - 4) { for(int i = ed +1 ;i<=n;i++) printf("a"); } else if(ed == n - 5) { printf("aabab"); } puts(""); } } else { for(int i = 0;i<n;i++) { if(i%3 == 0) printf("a"); else if(i%3 ==1) printf("b"); else printf("c"); } puts(""); } } return 0;}
- hdu 4731 Minimum palindrome(暴力打表找规律)
- HDU 4731 Minimum palindrome(规律 构造)
- HDU - 4731 Minimum palindrome 找规律
- HDU 4731 Minimum palindrome+找规律技巧
- 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 4731 Minimum palindrome
- HDOJ 4731 - Minimum palindrome 找规律
- HDU_4731 Minimum palindrome(找规律)
- landoj--1603--Minimum Sum(规律&&暴力)
- hdu 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- 2013 ACM/ICPC Asia Regional Chengdu Online HDU 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)
- 横竖屏切换时候Activity的生命周期
- 判断浮点数是否等于0
- Spring动态切换多数据源解决方案
- python错误Unhandled exception in thread started by Error in sys.excepthook
- redis--5--Redis 的安装配置介绍
- hdu 4731 Minimum palindrome(暴力打表找规律)
- 克里称美俄同意联合国草案可含对叙动武内容
- 2013成都网络赛 两个简单题
- Android 源码下载注意事项
- 短路与&&和&
- 2014阿里巴巴笔试题
- 你是否用对了方式——女人要的是追求不是勾搭、纠缠、泡(
- Python解决了小问题
- dedecms中...template/**/index_default.htm not Found 的解决办法