全排列结构范例_超实用

#include<bits/stdc++.h>
using namespace std;

int n, a[110];

void f(int x) { // 不仅作为一个参数,代表了当前的递归层数 
	if (x > n) { // x的值超过n的时候,说明已经递归了n次了,已经有n个循环了 
		// 如何判断方案合法性,以及如何输出 
		for (int i=1;i<=n;i++) printf("%d ",a[i]);
		printf("\n"); 
		// 判断,a[1]~a[n]中没有相同数字,符合的话,才输出 
		return;
	}
	for (int i=1;i<=n;i++) {
		// 如何将不同递归层数当中的枚举出来的数存下来 (设定全局变量) 
		a[x] = i; // 记录,第x层递归枚举出来的数是i 
		f(x+1);
	}
} // n个1~n的循环在嵌套 
 
int main() {
	scanf("%d",&n);
	// n个循环嵌套,每个循环是1~n,最终删去相同元素方案 
	f(1);
	
	
/*	 
	for (int i=1;i<=3;i++) {
		for (int j=1;j<=3;j++) {
			for (int k=1;k<=3;k++) {
				//如果存在相同数字,continue
				if (i==j || j==k || i==k) continue; 
				printf("%d %d %d\n",i,j,k);
			}
		}
	} // 暴力填数思想 + 筛选答案思想、
*/ 
	return 0;
}

相关推荐

  1. 排列结构范例_实用

    2024-01-06 08:30:03       46 阅读
  2. 47. 排列 II

    2024-01-06 08:30:03       59 阅读
  3. 46. 排列

    2024-01-06 08:30:03       43 阅读
  4. 算法笔记:排列

    2024-01-06 08:30:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-06 08:30:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-06 08:30:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-06 08:30:03       82 阅读
  4. Python语言-面向对象

    2024-01-06 08:30:03       91 阅读

热门阅读

  1. CCF-CSP 201809-2 买菜 C++满分题解

    2024-01-06 08:30:03       53 阅读
  2. 图像分割实战-系列教程12:deeplab系列算法概述

    2024-01-06 08:30:03       55 阅读
  3. 【Linux命令查看docker hub pull ratelimit】

    2024-01-06 08:30:03       59 阅读
  4. [应急]Oracle抓undo高的语句

    2024-01-06 08:30:03       58 阅读
  5. unity中旋转 transform.Rotate

    2024-01-06 08:30:03       58 阅读
  6. Kubernetes(K8s)命令大全

    2024-01-06 08:30:03       54 阅读
  7. 计算机二级Python选择题考点——公共基础部分

    2024-01-06 08:30:03       45 阅读
  8. CSS 使用技巧

    2024-01-06 08:30:03       59 阅读
  9. Go语言程序设计-第7章--接口

    2024-01-06 08:30:03       46 阅读