UVa-10098-Generating Fast

来源:互联网 发布:淘宝卖的猛犸象牙猫腻 编辑:程序博客网 时间:2024/06/10 02:24

AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 3. Brute Force :: Elementary Skills


// 10098 - Generating Fast#include <iostream>#include <algorithm>#include <cstring>using namespace std;int main(void){int i, n, len;char s[11];while(cin >> n)while(n--){cin >> s;len = strlen(s);sort(s, s+len);do{for(i=0; i<len; i++)cout << s[i];cout << endl;}while(next_permutation(s, s+len));cout << endl;}return 0;}

Time limit exceeded:

// 10098 - Generating Fast#include <iostream>#include <algorithm>#include <cstring>using namespace std;void print_permutation(int cur, int n, char* s, char p, char q){int i, j;char ch;if(cur == n){for(i=0; i<n; i++)cout << s[i];cout << endl;}else{for(ch=p; ch<=q; ch++){int ok = 1;for(j=0; j<cur; j++)if(s[j] == ch)ok = 0;if(ok){s[cur] = ch;print_permutation(cur+1, n, s, p, q);}}}}int main(void){int n, len;char s[11];while(cin >> n)while(n--){cin >> s;len = strlen(s);sort(s, s+len);print_permutation(0, len, s, s[0], s[len-1]);cout << endl;}return 0;}


0 0
原创粉丝点击