已解决 薛乘志 初级启示者 fn dfs(x: usize, k: usize, ans: &mut [usize; N], vis: &mut [bool; N + 1]) { if k == N { println!("{:?}", ans); return; } vis[x] = true; for i in 1..N + 1 { if !vis[i] { ans[k] = i; dfs(i, k + 1, ans, vis); } } vis[x] = false; } 聪明的人已经从我的网站上找到答案了