记录编号 287396 评测结果 AAAAA
题目名称 [SCOI 2007]排列 最终得分 100
用户昵称 GravatarAntiLeaf 是否通过 通过
代码语言 C++ 运行时间 0.738 s
提交时间 2016-08-01 19:41:35 内存使用 0.29 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=15;
int T,n,a[maxn],p,ans;
long long tmp;
char c[maxn];
int main(){
	freopen("wulipailie.in","r",stdin);
	freopen("wulipailie.out","w",stdout);
	scanf("%d",&T);
	while(T--){
		ans=0;
		scanf(" %s %d",c,&p);
		n=strlen(c);
		for(int i=0;i<n;i++)a[i+1]=c[i]-'0';
		sort(a+1,a+n+1);
		do{
			tmp=0;
			for(int i=1;i<=n;i++)tmp=tmp*10ll+(long long)a[i];
			if(tmp%(long long)p==0ll)ans++;
		}while(next_permutation(a+1,a+n+1));
		printf("%d\n",ans);
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}
/*
7
000 1
001 1
1234567890 1
123434 2
1234 7
12345 17
12345678 29
Answer:
1
3
3628800
90
3
6
1398
*/