zoukankan      html  css  js  c++  java
  • C++-蓝桥杯-九宫幻方[暴力搜索][无剪枝]

     1 #include <cstdio>
     2 int a[10],copy[10],cnt,ans,flag;
     3 bool check(){
     4     int sum=a[1]+a[2]+a[3];
     5     if(sum!=a[4]+a[5]+a[6])return false;
     6     if(sum!=a[1]+a[4]+a[7])return false;
     7     if(sum!=a[3]+a[5]+a[7])return false;
     8     if(sum!=a[2]+a[5]+a[8])return false;
     9     if(sum!=a[3]+a[6]+a[9])return false;
    10     if(sum!=a[7]+a[8]+a[9])return false;
    11     if(sum!=a[1]+a[5]+a[9])return false;
    12     return true;
    13 }
    14 int vis[10],p[10];
    15 void dfs(int n){
    16     if(ans>1)return;
    17     if(n==cnt){
    18         if(check()){
    19             flag=1,ans++;
    20             for(int i=1;i<=9;i++)copy[i]=a[i];
    21         }
    22         return;
    23     }
    24     for(int i=1;i<=9;i++){
    25         if(!vis[i]){
    26             a[p[n+1]]=i,vis[i]=1;
    27             dfs(n+1);
    28             a[p[n+1]]=0,vis[i]=0;
    29         }
    30     }
    31 }
    32 int main(){
    33     for(int i=1;i<=9;i++){
    34         scanf("%d",&a[i]);
    35         if(a[i])vis[a[i]]=1;
    36         else p[++cnt]=i;
    37     }
    38     dfs(0);
    39     if(ans>1)puts("Too Many");
    40     else
    41         for(int i=1;i<=9;i++){
    42             printf("%d ",copy[i]);
    43             if(i%3==0)puts("");
    44         }
    45     return 0;
    46 } 
  • 相关阅读:
    HDU 2955 Robberies
    HDU 2546 饭卡
    poj 3628 Bookshelf 2
    poj 3624 Charm Bracelet
    celery -1
    ☀【Grunt】插件
    【MooTools】
    【Grunt】
    ↗☻【PHP与MySQL程序设计 #BOOK#】第3章 PHP基础
    【CSS】
  • 原文地址:https://www.cnblogs.com/JasonCow/p/12394433.html
Copyright © 2011-2022 走看看