Uva10098 按字典序求排列组合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uva10098 按字典序求排列组合相关的知识,希望对你有一定的参考价值。
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; char s[60]; int l; typedef long long int64; int get(){ int i=l-1; while(i>0&&s[i-1]>=s[i]) i--; if(!i) return 0; int mp=i; for(int j=i+1;j<l;j++){ if(s[j]<=s[i-1]) continue; if(s[j]<=s[mp]) mp=j; } swap(s[mp],s[i-1]); sort(s+i,s+l); return 1; } int main(){ int casen; scanf("%d",&casen); while(casen--){ scanf("%s",&s); l=strlen(s); sort(s,s+l); printf("%s\n",s); while(get()) printf("%s\n",s); printf("\n"); } return 0; }
以上是关于Uva10098 按字典序求排列组合的主要内容,如果未能解决你的问题,请参考以下文章