深さ優先探索 void dfs(int c, int d[50], int n){ if(c == n){ return; } for(int i = 0; i < n; i++){ if(d[i] == 0){ d[i] = 1; dfs(c + 1, d, n); d[i] = 0; } } return; } int d[50]; memset(d, 0, sizeof(d)); f(0, d, 10);