• UVa 129 Krypton Factor【回溯】


    学习的紫书的回溯,理解起来还是好困难的说啊= =

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring> 
     4 #include <cmath> 
     5 #include<stack>
     6 #include<vector>
     7 #include<map> 
     8 #include<set>
     9 #include<queue> 
    10 #include<algorithm>  
    11 using namespace std;
    12 
    13 typedef long long LL;
    14 const int INF = (1<<30)-1;
    15 const int mod=1000000007;
    16 const int maxn=100005;
    17 
    18 char s[maxn];
    19 int n,L,cnt,sum;
    20 
    21 int dfs(int cur){
    22     if(cnt++==n){
    23         int tmp=0;
    24         for(int i=0;i<cur;i++) {        
    25             if(i%64==0&&i) printf("
    ");
    26             else if(i%4==0&&i) printf(" ");
    27             printf("%c",'A'+s[i]);
    28         }
    29         printf("
    ");
    30         printf("%d
    ",cur);
    31         return 0;
    32     }
    33     
    34     
    35     for(int i=0;i<L;i++){
    36         s[cur]=i;
    37         int ok=1;
    38         for(int j=1;j*2<=cur+1;j++){
    39             int equal=1;
    40             for(int k=0;k<j;k++)
    41             if(s[cur-k]!=s[cur-k-j]){equal=0;break;}        
    42             if(equal){ok=0;break;}//后一半等于前一半,不符合困难的串的条件 
    43         }
    44         if(ok) if(!dfs(cur+1)) return 0;
    45     }
    46     return 1;
    47 }
    48 
    49 
    50 int main(){
    51     while(scanf("%d %d",&n,&L)!=EOF&&n&&L){
    52         cnt=0;
    53         dfs(0);
    54     }
    55     return 0;
    56 }
    View Code

    加油啊 go---go---go-

  • 相关阅读:
    数据源ObjectDataSource的数据访问类的编写
    ASP.NET网页文本编辑器的使用
    装饰模式
    策略模式
    代理模式
    备份、还原数据库
    简单工厂和工厂模式
    ASP.NET上传多个文件
    数据库访问类的编写
    UVA 11069 A Graph Problem
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4445454.html
Copyright © 2020-2023  润新知