解题思路:
注意事项:
参考代码:
import java.math.BigInteger; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static int m; public static int sum=0; public static int[] arr=new int[21]; public static int[] vis=new int[21]; public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ m=sc.nextInt(); DFS(0); System.out.println(sum); sum=0; } } public static void DFS(int n){ if(n==m){ int flag=0; for(int i=0;i<m;i++){ if(arr[i]==i){ flag=1; break; } } if(flag==0){ sum++; } } else{ for(int i=0;i<m;i++){ if(vis[i]==0){ vis[i]=1; arr[n]=i; DFS(n+1); vis[i]=0; } } } } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1277 |
C二级辅导-等差数列 (C语言代码)浏览:1315 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1844 |
淘淘的名单 (C语言代码)答案错误???浏览:624 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:400 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:566 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:468 |
1012题解浏览:938 |
矩阵乘方 (C语言代码)浏览:1079 |