【BZOJ】【P1072】【SCOI2007】【题解】【水题】【模拟】

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1072

模拟就好了,当时分析复杂度的时候想想O(n!*T)刚好可以卡时过,于是写了,于是A了……

PS:STL就是吊!

Code:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
char s[10];
int len;
int d;
int T; 
long long toint(char *s){
	long long res=0;
	for(int i=0;i<len;i++)
	res*=10,res+=s[i]-'0';
	return res;
}
int main(){
	scanf("%d",&T);
	while(T--){
		scanf("%s",s);len=strlen(s);
		scanf("%d",&d);
		sort(s,s+len);
		int ans=0;
		do{
			if(toint(s)%d==0)ans++;
		}while(next_permutation(s,s+len));
		printf("%d\n",ans);
	}
	return 0;
}



你可能感兴趣的:(bzoj,省选)