分析
大水题。
用$\texttt{next_permutation}$枚举排列即可。
注意$9999999999$是爆了$\texttt{int}$了的,所以要开$\texttt{long long}$。
代码
//It is made by M_sea
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#define re register
typedef long long ll;
using namespace std;
const int N=10+10;
char s[N];
int n,d;
int main() {
int T; scanf("%d",&T);
while (T--) {
scanf("%s%d",s+1,&d); n=strlen(s+1);
sort(s+1,s+n+1); int ans=0;
do {
ll x=0;
for (re int i=1;i<=n;++i) x=x*10+s[i]-'0';
if (x%d==0) ++ans;
} while (next_permutation(s+1,s+n+1));
printf("%d\n",ans);
}
return 0;
}