您的位置:首页 > 其它

NKOI 3587 全排列

2016-04-15 22:18 375 查看
全排列
Time Limit:10000MS  Memory Limit:65536K

Total Submit:2 Accepted:2
Case Time Limit:1000MS
Description
给出字母表的前n(n<=9)个字母,请按字典序输出这n个字母的全排列。所有字母为大写

Input
一行,字母表的前n个字母

Output
若干行,表示对应的全排列

Sample Input
样例输入1:
ABC
样例输入2:
AB

Sample Output
样例输出1:
ABC
ACB
BAC
BCA
CAB
CBA

样例输出2:
AB
BA

Source

搜索来解,大水题

#include<iostream>

#include<cstdio>

#include<cstring>

using namespace std;

char a[100],b[100];

bool used[100];

int n;

void Work(int k){

     if(k==n)printf("%s\n",b);

     else

        for(int i=0;i<n;i++){         

             if(!used[i]){

                b[k]=a[i];

                used[i]=true;

                Work(k+1);

                used[i]=false;

            }

        }

}

int main(){

    scanf("%s",a);

    n=strlen(a);

    Work(0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: