P4163 [SCOI2007]排列

Posted sfwr-you

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P4163 [SCOI2007]排列相关的知识,希望对你有一定的参考价值。

技术图片

——————————————————————————————————————————————————————————-

发出不适的粗口

被循环变量坑了half hour

用余数来记录选用当前的数所构成的形态,算是附加信息。

还要练练搜索的说

————————————————————————————————————————————————————————

#include<bits/stdc++.h>
using namespace std;
int t,num[20],len,md,cnt[10],f[1050][1010];
char ch[20];
int main()

cin>>t;
while(t--)

memset(cnt,0,sizeof(cnt));memset(f,0,sizeof(f));
cin>>ch>>md;len=strlen(ch);f[0][0]=1;
for(int i=1;i<=len;i++)num[i]=ch[i-1]-‘0‘;cnt[num[i]]++;
for(int i=0;i<=(1<<len)-1;i++)
for(int j=1;j<=len;j++)if(!(i&(1<<j-1)))
for(int k=0;k<md;k++)f[i^(1<<j-1)][((10*k)+num[j])%md]+=f[i][k];
int ans=f[(1<<len)-1][0];
for(int i=0;i<=9;i++)for(int j=2;j<=cnt[i];j++)ans/=j;
cout<<ans<<endl;

 

以上是关于P4163 [SCOI2007]排列的主要内容,如果未能解决你的问题,请参考以下文章

关于next_permutation 例题:[P4163 [SCOI2007]排列

[BZOJ1072][SCOI2007]排列perm

bzoj1072SCOI2007排列perm

[BZOJ1072][SCOI2007]排列perm

[SCOI2007] 排列

1072: [SCOI2007]排列perm