zoukankan      html  css  js  c++  java
  • 25六角填数

    暴力:

    #include "cstdio"  
    #include "cstring"  
    #include "iostream"  
    #include "algorithm"  
    using namespace std;  
      
    int main (){  
        int a[13];  
        for(int i=0;i<12;++i)  
            a[i]=i+1;  
        while(next_permutation(a,a+12)){  
            int t=a[1]+a[2]+a[3]+a[4];  
            if(a[0]==1 && a[1]==8 && a[11]==3 && t==a[0]+a[2]+a[5]+a[7] && t==a[0]+a[3]+a[6]+a[10] && t==a[7]+a[8]+a[9]+a[10] &&  
               (a[1]+a[5]+a[8]+a[11])==(a[4]+a[6]+a[9]+a[11]))  
                printf("%d
    ",a[5]);  
        }  
        return 0;  
    }  
    

      dfs:

    #include <cstdio>  
    #include <cstring>  
      
    int a[12];  
    bool vis[13];  
      
    void dfs(int k){  
        int i;  
        int t=a[1]+a[2]+a[3]+a[4];  
        if(k==12 && a[0]==1 && a[1]==8 && a[11]==3  
        && t==a[0]+a[2]+a[5]+a[7]  
        && t==a[0]+a[3]+a[6]+a[10]  
        && t==a[1]+a[5]+a[8]+a[11]  
        && t==a[4]+a[6]+a[9]+a[11]  
        && t==a[7]+a[8]+a[9]+a[10]  
        && a[7]+a[8]+a[9]+a[10]==a[0]+a[3]+a[6]+a[10]){  
            printf("%d
    ",a[5]);  
        return ;  
        }  
        for(i=1;i<=12;++i){  
            if(!vis[i]){  
                vis[i]=1;  
                a[k]=i;  
                dfs(k+1);  
                vis[i]=0;  
                a[k]=0;  
            }  
        }  
    }  
      
    int main (){  
        memset(vis,0,sizeof(vis));  
        memset(a,0,sizeof(a));  
        dfs(0);  
        return 0;  
    }  
    

      

  • 相关阅读:
    tcpdump命令详解
    Python isdecimal()方法
    Python-Tkinter几何布局管理
    Python choice() 函数
    Python中的join()函数的用法
    PLSQL连接虚拟机中的Oracle数据库
    卸载oracle
    teradata学习
    teradata在虚拟机安装客户端sql Assistant
    oracle面试
  • 原文地址:https://www.cnblogs.com/passion-sky/p/8566442.html
Copyright © 2011-2022 走看看