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;
    }

  • 相关阅读:
    eclipse历史版本下载地址
    注解@SuppressWarnings
    VB创建文件夹
    VB学习生成JavaBean
    C++下的强制转换类型
    Django扩展
    数据查询操作
    深入剖析C++多态、VPTR指针、虚函数表
    快速排序一步一步优化
    cookie与session
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/4053781.html
Copyright © 2011-2022 走看看