码迷,mamicode.com
首页 > 其他好文 > 详细

Uva-129 Krypton Factor

时间:2018-12-01 20:22:56      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:color   ++   _for   cin   class   efi   std   namespace   code   

 1 #include <bits/stdc++.h>
 2 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
 3 using namespace std;
 4 
 5 
 6 const char a[27] = {A,B,C,D,E,F,G,H,I,J,
 7                     K,L,M,N,O,P,Q,R,S,T,
 8                     U,V,W,X,Y,Z
 9                    };
10 
11 int n,L;
12 int cnt;
13 int s[82];
14 
15 int judge(int cur)
16 {
17     for(int j = 1; j * 2 <= cur + 1; j ++)
18     {
19         int equal = 1;
20         _for(k,0,j)
21         if(s[cur-k]!=s[cur-k-j])
22         {
23             equal = 0;
24             break;
25         }
26         if(equal) return 0;
27     }
28     return 1;
29 }
30 int dfs(int cur)
31 {
32     if(cnt++ == n)
33     {
34         _for(i,0,cur)
35         {
36             if(i && (i%64!=0) && (i%4==0)) printf(" ");
37             if(i && (i%64==0)) printf("\n");
38             printf("%c",a[s[i]]);
39         }
40         printf("\n%d\n",cur);
41         return 0;
42     }
43     _for(i,0,L)
44     {
45         s[cur] = i;
46         if(judge(cur))
47             if(!dfs(cur+1))    return 0;
48     }
49     return 1;
50 }
51 
52 int main()
53 {
54     while(cin >> n >> L && (n || L))
55     {
56         memset(s,0,sizeof(s));
57         cnt = 0;
58         dfs(0);
59     }
60     return 0;
61 }

 

Uva-129 Krypton Factor

标签:color   ++   _for   cin   class   efi   std   namespace   code   

原文地址:https://www.cnblogs.com/Asurudo/p/10050302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!