hdu 4731 Minimum palindrome(暴力打表找规律)
2013-09-14 23:17
281 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4731
题目大意:用字母表的前m个字母(有的可以不用)构造一个长度为n的字符串,要求这个字符串的最长回文串的长度最小。
思路:如果m ==1 ,那么就肯定全是a,如果m >= 3,可以证明肯定是 abc 这样循环,关键在于m == 2这里,也就是只有ab的时候。然后就是打表了,打前 20 个,很容易可以发现规律,有个循环节,然后最后再处理一下就好了,前几个特判。
这道题目真的囧了,下午比赛全卡在这题上了,没去想暴力打表找规律,然后一直在那边YY,唉,不说了,说多了都是泪啊。。 T^T 记住,以后找规律,先暴力打表,不要手算去!
代码如下:
题目大意:用字母表的前m个字母(有的可以不用)构造一个长度为n的字符串,要求这个字符串的最长回文串的长度最小。
思路:如果m ==1 ,那么就肯定全是a,如果m >= 3,可以证明肯定是 abc 这样循环,关键在于m == 2这里,也就是只有ab的时候。然后就是打表了,打前 20 个,很容易可以发现规律,有个循环节,然后最后再处理一下就好了,前几个特判。
这道题目真的囧了,下午比赛全卡在这题上了,没去想暴力打表找规律,然后一直在那边YY,唉,不说了,说多了都是泪啊。。 T^T 记住,以后找规律,先暴力打表,不要手算去!
代码如下:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; /* a ab aab aabb aaaba aaabab aaababb aaababbb aaaababba aaaababbaa aaaababbaaa aaaababbaaaa aaaababbaabab aaaababbaababb aaaababbaababba aaaababbaababbaa aaaababbaababbaaa aaaababbaababbaaaa aaaababbaababbaabab */ 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 找规律,打表
- hdu 5512 Pagodas【暴力打表+找规律】
- Hdu 5793 A Boring Question【暴力打表+找规律+求逆元+快速幂+快速积】
- HDU 1061暴力打表找规律
- HDU - 5391(打表找规律)
- HDU 3032 Nim or not Nim?(博弈,SG打表找规律)
- 3785 What day is that day? 浅谈KMP在ACM竞赛中的暴力打表找规律中的应用
- 利用暴力打表来规律
- 2015多校第7场 HDU 5373 The shortest problem 规律,暴力
- HDU 4731 Minimum palindrome+找规律技巧
- 计蒜客 Half-consecutive Numbers 暴力打表找规律
- hdu 3032 sg打表找规律 *
- HDU_4731 Minimum palindrome(找规律)
- hdu 1331 (暴力打表)
- HDU 1061(C)打表找规律
- HDU-5795-A Simple Nim-博弈(SG函数)打表找规律
- HDU 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- HDU 5810 Balls and Boxes(打表找规律)——2016 Multi-University Training Contest 7 1002
- 【(好题)组合数+Lucas定理+公式递推(lowbit+滚动数组)+打表找规律】2017多校训练七 HDU 6129 Just do it
- HDU 1239 Calling Extraterrestrial Intelligence Again 【打表+暴力搜索】