竞赛讨论区 > 跪求大佬帮我看一下!!
头像
没毕业的小屁孩
发布于 2018-07-28 14:04
+ 关注

跪求大佬帮我看一下!!

希望大佬帮我解析一下,感激不尽!!!!


#include<bits/stdc++.h>
using namespace std;
int num[10];
int dp[3010][10];
int main()
{
    string s;
    cin>>s;
    s=' '+s;
    for(int i=s.size()-1;i>=0;i--)
    {
        for(int j=0;j<=9;j++) dp[i][j]=num[j];
        if(i!=0)num[s[i]-'a']=i;
    }
    vector<char> v;
    v.push_back('a');
    v.push_back('b');
    v.push_back('c');
    v.push_back('d');
    v.push_back('e');
    v.push_back('f');
    v.push_back('g');
    v.push_back('h');
    v.push_back('i');
    int ans=0;
    do{
        int flag=0;
        for(int i=0;i<9;i++)
        {
            flag=dp[flag][v[i]-'a'];
            if(flag==0) {ans--;break;}
        }
        ans++;
    }while(next_permutation(v.begin(),v.end()));
    cout<<ans<<endl;
    return 0;
  
}

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐