zoukankan      html  css  js  c++  java
  • saer

    // erg.cpp : 定义控制台应用程序的入口点。
    //>

    #include "stdafx.h"
    #include"omp.h"
    int n;
    int q;
    void dfs(int b[],int k)
    {
        int i,j;
        if(k>n)
        {
            #pragma omp atomic
            q++;
    //  find=true;
            return ;
        }
        for(i=1;i<=n;i++)
            {

               for(j=1;j<k;j++)
               {
                   if(i==b[j])//不同列  b[j] 表示第j行用了第b[j] 列
                       break;
          int x1=k-j,x2=i-b[j];
          if(x1<0) x1=x1*-1;
          if(x2<0) x2=x2*-1;
                   if(x1==x2) //不能斜着相对
                       break;
               }
               if(j<k)
                   continue;
                b[k]=i;
                dfs(b,k+1);
           
            }
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
     int i;
     while(scanf("%d",&n))
     {
     q=0;
     omp_set_num_threads(2);
        #pragma omp parallel for
     for(i=1;i<=n;i++)
     {
      
      int y[20];
      y[1]=i;
      dfs(y,2);
     }
     printf("%d ",q);
     }
     return 0;
    }

  • 相关阅读:
    老人与小孩
    搭讪
    VIM 如何使用系统的剪切板
    Linux 下如何安装 .rpm 文件
    Linux 下如何安装 .bin 文件
    Tomorrow Is A New Day
    Hive 学习(五) Hive之HSQL基础
    Hive 学习(二) hive安装
    Hive 学习(四) Hive的数据类型
    Hive 学习(三) Hive的DDL操作
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/4053781.html
Copyright © 2011-2022 走看看