0
点赞
收藏
分享

微信扫一扫

蓝桥杯—排列数

凌得涂 2022-04-05 阅读 85

1、问题描述

2、代码实现

import java.util.Scanner;

public class 排列数 {
	static int n;
	static int[] arr; 
	static boolean[] visit= new boolean[10];
	static int ans = 0;
	static boolean finish = false;
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		n = scanner.nextInt();
		arr = new int[10];
		dfs(0);
	}
	public static void dfs(int k) {
		if(finish ) return;
		
		if(k == 10) {
			ans++;
			if(ans == n) {
				for(int i : arr) {
					System.out.print(i);
				}
				finish = true;
				return;
			}
		}
		for(int i = 0;i < 10;i++) {
			if(!visit[i]) {
				arr[k] = i;
				visit[i] = true;
				dfs(k + 1);
				visit[i] = false;
			}
		}
	}
}
举报

相关推荐

0 条评论