比赛 20120619 评测结果 AAAAAAAAAA
题目名称 隐藏的信息 最终得分 100
用户昵称 mikumikumi 运行时间 0.015 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2016-04-22 08:58:49
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int SIZEN=15;
int P,Q,N;
char str[SIZEN];
int a[SIZEN];
int len;
void read()
{
	scanf("%s",str);
	scanf("%d%d",&P,&Q);
	len=strlen(str);
	for(int i=0;i<len;i++) a[i]=str[i]-'0';
}
int calc()
{
	int re=0;
	for(int i=0;i<len;i++) re=re*10+a[i];
	return re;
}
int fact[SIZEN];
void work()
{
	sort(a,a+len);
	fact[0]=1;
	for(int i=1;i<=len;i++) fact[i]=fact[i-1]*i;
	N=fact[len];
	bool flag=0;
	for(int i=1;i<=N;i++)
	{
		int now=calc();
		int j;
		for(j=P;j<=Q;j++) 
		{
			if(now%j!=0) break;
		}
		if(j==Q+1) 
		{
			printf("%d\n",now);
			flag=1;
		}
		next_permutation(a,a+len);
	}
	if(!flag) printf("No answer\n");
}
int main()
{
	freopen("lcsa.in","r",stdin);
	freopen("lcsa.out","w",stdout);
	read();
	work();
	return 0;
}