zoukankan      html  css  js  c++  java
  • 8皇后

    #include<stdio.h>
    #include<math.h>
    int x[100],j;
    int w;
    int a(int b,int c)
    {
    int n;
    n=b-c;
    if(n==0)
    return 0;
    if(n>0)
    return n;
    else
    return -n;
    }
    bool place(int k)
    {
    int i;
    for(i=1;i<k;i++)
    if(x[k]==x[i]||a(k,i)==a(x[k],x[i]))
    return false;
    return true;//判断真假,FALSE=0,TRUE=1
    }

    void queen(int n)//返回值为空

    {
    int i,k;
    for(i=1;i<=n;i++)
    x[i]=0;
    k=1;
    while(k>=1)
    {
    x[k]=x[k]+1;
    while(x[k]<=n&&!place(k))
    x[k]=x[k]+1;
    if(x[k]<=n&&k==n)
    {
    for(i=1;i<=n;i++)
    {
    printf("第%d列%d ",i,x[i]);

    }
    printf(" ");
    w=w+1;
    }
    else if(x[k]<=n&&k<n)
    {
    k=k+1;

    }

    else
    {
    x[k]=0;
    k=k-1;
    }
    }
    }

    int main()
    {
    int n;
    printf("皇后个数n: ");
    scanf("%d",&n);
    queen(n);
    printf("总数%d",w);
    }

    #include<stdio.h>
    #include<math.h>
    int x[100],j;
    int w;
    int a(int b,int c)
    {
    int n;
    n=b-c;
    if(n==0)
    return 0;
    if(n>0)
    return n;
    else
    return -n;
    }
    bool place(int k)
    {
    int i;
    for(i=1;i<k;i++)
    if(x[k]==x[i]||a(k,i)==a(x[k],x[i]))
    return false;
    return true;
    }

    void queen(int n)

    {
    int i,k;
    for(i=1;i<=n;i++)
    x[i]=0;
    k=1;
    while(k>=1)
    {
    x[k]=x[k]+1;
    while(x[k]<=n&&!place(k))
    x[k]=x[k]+1;
    if(x[k]<=n&&k==n)
    {
    for(i=1;i<=n;i++)
    {
    printf("第%d列%d ",i,x[i]);

    }
    printf(" ");
    w=w+1;
    }
    else if(x[k]<=n&&k<n)
    {
    k=k+1;

    }

    else
    {
    x[k]=0;
    k=k-1;
    }
    }
    }

    int main()
    {
    int n;
    printf("皇后个数n: ");
    scanf("%d",&n);
    queen(n);
    printf("总数%d",w);
    }

    我也不知道改写什么

  • 相关阅读:
    hrbust 1788
    poj2299 ( bit )
    LA3027(并查集)
    hdu1166 (bit)
    hdu1598(并查集)
    cdoj1215 (并查集)
    hdu2643 ( 第二类斯特灵数 )
    hdu3625 ( 第一类斯特灵数 )
    Uva10066
    怎么处理sqlserver2017部署在winowsDocker上时区无法修改成功的方式,并且可以多创建新的容器调用简单的方式直接使用!
  • 原文地址:https://www.cnblogs.com/chenyuliu/p/5815044.html
Copyright © 2011-2022 走看看