您当前的位置: 首页 >  Java

全排列问题(洛谷P1706题题解,Java语言描述)

星拱北辰 发布时间:2020-05-02 15:45:57 ,浏览量:1

题目要求

题目链接

在这里插入图片描述

分析

其实应该用DFS啦,打表还是免了, 9 ! 9! 9!警告。

怎么搜呢?一个boolean数组+一个int数组,int数组按顺序存每一位的数值,boolean数组的index对应实际数值,而true表示已被使用。

一旦搜到的used[i]是true,那就剪枝,确实没有搜的必要了。

AC代码(Java语言描述)
import java.util.Scanner;

public class Main {

    private static StringBuilder result = new StringBuilder();

    private static int num;

    private static int[] sequence;

    private static boolean[] used;

    private static void dfs(int k) {
        if (k == num) {
            for (int j = 1; j             
关注
打赏
1688896170
查看更多评论
0.0589s