zoukankan      html  css  js  c++  java
  • 第七届蓝桥杯大赛个人赛省赛(软件类)真题6


    方格填数

    如下的10个格子

    (如果显示有问题,也可以参看【图1.jpg】)

    填入0~9的数字。要求:连续的两个数字不能相邻。
    (左右、上下、对角都算相邻)

    一共有多少种可能的填数方案?

    请填写表示方案数目的整数。
    注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

    #include<iostream>
    #include<cmath>
    using namespace std;
    const int n=9;
    int arr[20], brr[20], sum=0;
    void DFS(int i) {
      if (i==11){
        if ((fabs(arr[1]-arr[2])!=1)&&(fabs(arr[1]-arr[4])!=1)&&(fabs(arr[1]-arr[5])!=1)&&(fabs(arr[1]-arr[6])!=1)&&
        (fabs(arr[2]-arr[3])!=1)&&(fabs(arr[2]-arr[5])!=1)&&(fabs(arr[2]-arr[6])!=1)&&(fabs(arr[2]-arr[7])!=1)&&
        (fabs(arr[3]-arr[6])!=1)&&(fabs(arr[3]-arr[7])!=1)&&(fabs(arr[4]-arr[5])!=1)&&(fabs(arr[4]-arr[8])!=1)&&
        (fabs(arr[4]-arr[9])!=1)&&(fabs(arr[5]-arr[6])!=1)&&(fabs(arr[5]-arr[9])!=1)&&(fabs(arr[5]-arr[8])!=1)&&(fabs(arr[5]-arr[10])!=1)&&
        (fabs(arr[6]-arr[7])!=1)&&(fabs(arr[6]-arr[9])!=1)&&(fabs(arr[6]-arr[10])!=1)&&(fabs(arr[8]-arr[9])!=1)&&(fabs(arr[9]-arr[10])!=1)&&(fabs(arr[7]-arr[10])!=1)){
          for (int k=1; k<=10; k++)
            cout<<arr[k]<<" ";
          cout<<endl;
          sum++;
        }
        return ;
      }
      else {
        for (int j=0; j<=n; j++){
          if (!brr[j]){
            arr[i]=j;
            brr[j]=1;
            DFS(i+1);
            brr[j]=0;
          }
        }
      }
    }
    int main(){
      DFS(1);
      cout<<sum;
      return 0;
    }
    

      

  • 相关阅读:
    [恢]hdu 1517
    [恢]hdu 1847
    [恢]hdu 2189
    XHTML学习资料(二)
    基于ASP.NET的lucene.net全文搜索(一)
    XHTML学习资料(三)—— 表格
    ASP.NET中的Menu控件的应用
    基于ASP.NET的lucene.net全文搜索(二)
    EasyFas开源t框架说明
    动态解析XML生成EXCEL
  • 原文地址:https://www.cnblogs.com/a863886199/p/6561337.html
Copyright © 2011-2022 走看看