2013成都网络赛1004题HDU 4731Minimum palindrome (思维题目)
发布时间: 2013-09-15 19:58:13 作者: rapoo
2013成都网络赛1004题HDU 4731Minimum palindrome (思维题目)
22 22 3
Case #1: abCase #2: aab
#include<iostream>#include<cstring>#include<string>#include<cmath>#include<cstdio>using namespace std;char p[8][10]={"a","ab","aab","aabb","aaaba","aaabab","aaababb","aaababbb"};char a[6]={'b','a','b','b','a','a'};int main(){ int tes,i; int cas=0; scanf("%d",&tes); while(tes--) { int m,n; printf("Case #%d: ",++cas); scanf("%d%d",&m,&n); if(n==1) cout<<"a"<<endl; else if(m==1) { for(i=0;i<n;i++) cout<<"a"; cout<<endl; } else if(m==2) { if(n<=8) //回文长度最多为3 cout<<p[n-1]<<endl; else //回文长度为4 { cout<<"aaaa"; n-=4; int tmp=n/6; for(i=0;i<tmp;i++) cout<<"babbaa"; tmp=n-tmp*6; for(i=0;i<tmp;i++) cout<<a[i]; cout<<endl; } } else { int tmp=n/3; for(i=0;i<tmp;i++) cout<<"abc"; if(n-tmp*3==2) cout<<"ab"; else if(n-tmp*3==1) cout<<"a"; cout<<endl; } } return 0;}//15MS 272K