题解 | 全排列

全排列

https://www.nowcoder.com/practice/1d1fe38275da44b5848add89f9e223b1

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

int n;
int arr[20];
int check[20];

void print() {
	for (int i = 1; i <= n; i++) {
		printf("%d ", arr[i]);
	}
	printf("\n");
}

void dfs(int k) {
	if (k > n) {
		print();
	} else {
		for (int i = 1; i <= n; i++) {
			if (check[i] == 0) {
				arr[k] = i;
				check[i] = 1;
				dfs(k + 1);
				check[i] = 0;
			}
		}
	}
}

int main() {
	cin >> n;
	dfs(1);
	return 0;
}

全部评论

相关推荐

03-02 08:18
集美大学 Java
钱嘛数字而已:没有赛事奖项么?另外,项目经历字有点多哈,建议突出一下重点:用的什么技术,解决什么问题,达到什么效果。
大家都开始春招面试了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务