排列序数

来源:互联网 发布:mac maya5.0 编辑:程序博客网 时间:2024/04/29 02:36
void f(int cur,int n,string x,string a,string str){    if(cur==n)    {        if(str==x) {cnt++;y=cnt;}        else cnt++;        return ;    }    for(int i=0;i<n;i++)    {        int ok=1;        for(int j=0;j<cur;j++)            if(str[j]==a[i]) ok=0;        if(ok)        {            str+=a[i];            //cout<<str<<endl;            f(cur+1,n,x,a,str);            str=str.substr(0,str.length()-1);        }    }}int main(){    string a;    string str;    string x;    cin>>a;    cin>>x;    int m=(int)a.length();    //cout<<m<<endl;    f(0,m,x,a,str);    cout<<y-1<<endl;    //a=a.substr(0,a.length()-2);    //cout<<a<<endl;    return 0;}

0 0
原创粉丝点击