51nod 1384 全排列 (dfs)

来源:互联网 发布:网络主播黑名单有谁 编辑:程序博客网 时间:2024/05/29 04:51

51Nod 1384

深搜入门,但有个小问题。。cout比printf快吗?

#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;char s[20];int a[20], ans[20], book[30], n;void dfs(int cnt) {int i;if(cnt == n) {for(i = 0; i < n; i++) {cout << ans[i];    //这里用printf就会超时,为什么???? }cout << endl;return ;}else {for(i = 0; i < n; i++) {if(book[i] == 0) {book[i] = 1;ans[cnt] = a[i];dfs(cnt + 1);book[i] = 0;while(i < n - 1 && a[i + 1] == a[i]) i++;}}}}int main() {scanf("%s", s);n = strlen(s);int i;for(i = 0; i < n; i++) a[i] = s[i] - '0';sort(a, a + n);dfs(0);return 0;}


0 0