本文主要是介绍UVA/7-5 129 - Krypton Factor,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
串#include<cstdio>
#include<cstring>
const int MAXN=100;
char a[MAXN];
int n,L,cnt;
bool dfs(int cur){if(cnt++ == n){for(int i=0;i<cur;i++){if(i%64==0 && i) printf("\n"); //若16组后要先换行else if(i%4==0 && i) printf(" "); //每4个用空格隔开printf("%c",a[i]+'A');}printf("\n");printf("%d\n",cur);return false;}for(int i=0;i<L;i++){a[cur]=i;int ok=1;for(int j=1;j*2<=cur+1;j++){int equal=1;for(int k=0;k<j;k++) //判断是否连续相同的字符串if(a[cur-k]!=a[cur-k-j]) {equal=0;break;}if(equal) {ok=0;break;}}if(ok) if(!dfs(cur+1)) return false;}return true;
}
int main()
{while(~scanf("%d%d",&n,&L)){if(n==0 && L==0) break;memset(a,0,sizeof(a));cnt=0;dfs(0);}return 0;
}
这篇关于UVA/7-5 129 - Krypton Factor的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!