#include <stdio.h> bool hasSelect[10]; int store[10], id, n, m; void DFS(int k){ if(k == m){ for(int i = 0; i < m; ++i) printf("%d", store[i]); printf("\n"); return; } for(int i = 1; i <= n; ++i){ if(!hasSelect[i]){ store[k] = i; hasSelect[i] = 1; DFS(k + 1); hasSelect[i] = 0; } } } int main(){ int t, i; scanf("%d", &t); while(t--){ scanf("%d%d", &n, &m); for(i = 0; i < 10; ++i) hasSelect[i] = 0; id = 0; DFS(0); } return 0; }
运行号 | 用户 | 题目 | 结果 | 时间 | 内存 | 语言 | 提交时间 |
---|---|---|---|---|---|---|---|
815749 | 长木 | 擅长排列的小明 | ![]() |
44 | 232 | C/C++ | 04-15 10:01:33 |
NYOJ19 擅长排列的小明 【深搜】,布布扣,bubuko.com
原文:http://blog.csdn.net/chang_mu/article/details/23739803