苏北小毛驴 发表于 2016-1-25 15:38:10

好贵啊,没鱼币

小猪发飙 发表于 2016-6-17 16:57:01

支持小甲鱼 学到了很多

飞翔的笑笑 发表于 2016-6-30 22:37:54

才学到,很经典啊

DAY 发表于 2016-7-4 17:35:04

#include<iostream>
#include<cmath>
using namespace std;

const int N=8;
static int count=0;//定义静态(static)变量来表示是第几个方案。

int Queen={0};

bool isLegal(int i,int j){
//判断在i行,j列的位置是否可以满足条件。
        for(int m=1;m<=i-1;m++){
                int n=Queen;
                if(n==j || abs(j-n)==abs(i-m))//对角相减的绝对值相等。
                        return false;
        }
        return true;
}

void print(){
//作为一个打印函数
        count++;
        cout<<"第"<<count<<"种放法"<<endl;
        for(int i=1;i<=N;i++){
                for(int j=1;j<=N;j++){
                        cout<<Queen<<" ";
                }
                cout<<endl;
        }
        cout<<endl;
}

void eightQueen(int i){//八皇后核心代码
        if(i>N)print();//判断结束条件
        else{
                for(int j=1;j<=N;j++){
                        Queen=1;
                        if(isLegal(i,j)){
                                Queen=j;
                                eightQueen(i+1);
                        }
                        Queen=0;
                }
        }
}
int main()
{
        eightQueen(1);
        return 0;
}

_loser_ 发表于 2016-10-3 22:37:46

激动人心,无法言表!

z315645634 发表于 2016-11-29 00:01:49

给我啊啊啊啊啊啊啊啊afsfas

初学者.c 发表于 2017-3-26 16:57:21

加油

Tooi 发表于 2017-4-22 13:10:00

{:5_91:}

hanyonstyle 发表于 2017-4-25 15:53:05

小甲鱼的程序好贵啊

shuanglinyi 发表于 2017-5-13 22:37:06

支持!

请叫我英雄- 发表于 2017-7-24 22:05:10

八皇后搞的头疼花我20鱼币心疼

请叫我英雄- 发表于 2017-7-24 23:14:17

为什么要弄临时棋盘呀 没懂

搁浅. 发表于 2017-9-9 13:30:39

学习。。。。。。。。。

夏雨的鱼 发表于 2020-7-18 15:26:13

看看热闹 来的

wewessa 发表于 2021-2-12 17:02:31

请问一下,line==8之后输出一种结果,为什么EightQueen函数不结束而是重新继续运行
页: 1 2 [3]
查看完整版本: 第三十四讲 递归和分治思想4(视频+课件+源代码)