全排列permutation问题


参考链接:字符串全排列算法学习思路:一位一位来固定,求后面的全排列,设当前为k位,则让[k,n]位的字符都与第k位进行交换,并且需要保证第k位不重复(代码中用set来实现),然后对于每种情况,递归第k+1位即可。具体过程如下图:递归的出口,就是只剩一个字符的时候。代码如下:import java.u

汉诺塔模板


//汉诺塔 # include <stdio.h>void hanoi ( int n, char a, char b, char c ) { if (n == 1) //只剩一个盘子时 { printf("

八皇后


八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。#include<stdio.h>#define N 8int queen[N+1],flag