hdu 4731

一道找规律的题,但今天的智商捉急,一直都想不到点子上;

比赛之后和别人讨论的时候,在n=2的情况下,前面两个是aa,后面就接着很多个aababb,然后最后再判断下就行了~~~

以后对于这种题还是不要太相信自己的主观了,打个表靠谱点!

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 char pre[][10] = {"a", "ab", "aab", "aabb", "aaaba", "aaabab", "aaababb", "aaababbb"};
 4 char fix[][10] = {"a", "aa", "aaa", "aaaa", "aabab", "aababb"};
 5 int main()
 6 {
 7     int t,n,m,ca=1;
 8     scanf("%d", &t);
 9     while(t--)
10     {
11         scanf("%d%d", &m, &n);
12         printf("Case #%d: ",ca++);
13         if(m == 1)
14         {
15             for(int i = 0; i < n; i++)  putchar('a');
16         }
17         else if(m > 2)
18         {
19             for(int i = 0; i < n; i++)
20             {
21                 if(i%3==0)putchar('a');
22                 if(i%3==1)putchar('b');
23                 if(i%3==2)putchar('c');
24             }
25         }
26         else
27         {
28             if(n <= 8)  printf("%s", pre[n-1]);
29             else
30             {
31                 printf("aa");
32                 n-=2;
33                 int a=n/6;
34                 int b=n-n/6*6;
35                 for(int i=0;i<a;i++)
36                     printf("aababb");
37                 printf("%s",fix[b-1]);
38             }
39         }
40         printf("\n");
41     }
42     return 0;
43 }
View Code

 

posted @ 2013-09-14 22:59  Yours1103  阅读(243)  评论(0编辑  收藏  举报