回溯

回溯:递归的一种,或者说是通过递归这种代码结构来实现回溯这个目的。回溯法可以被认为是一个有过剪枝的DFS过程。把问题分解成若干步骤 并递归求解时如果当前步骤没有合法选择 则函数返回上一级递归调用 这种现象叫做回朔

回溯的一般结构:

void dfs(int 当前状态){
          if(当前状态为边界状态){
            记录或输出
            return;
          }
          for(i=0;i

8 皇后问题

#include "stdio.h"
#define N 8
int n = N;
int ans = 0;
int C[N];
void f(int cur){
    if(cur == n)    {
        ans++;
    
        for( int i = 0; i

你可能感兴趣的:(回溯)