比赛 20120619 评测结果 AAAAAAAAAA
题目名称 隐藏的信息 最终得分 100
用户昵称 Makazeu 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-06-19 19:00:24
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
const int MAXN=11;
int num[MAXN],s,e,now,ans,len;
bool flag=0;

inline int gcd(int a,int b)
{
	while(b^=a^=b^=a%=b);
	return a;
}

inline int lcm(int a,int b)
{
	return (a*b)/gcd(a,b);
}

inline void convert(int x)
{
	int k=0;
	while(x)
	{
		k++;
		num[k]=x%10;
		x/=10;
	}
	len=k;
	sort(num+1,num+len+1);
}

inline int atoi()
{
	int res=0;
	for(int i=1;i<=len;i++) res=res*10+num[i];
	return res;
}

inline void check(int k)
{
	if(k%ans==0) {printf("%d\n",k);flag=1;return;}
}

int main()
{
	freopen("lcsa.in","r",stdin);
	freopen("lcsa.out","w",stdout);
	scanf("%d\n%d %d\n",&now,&s,&e);
	ans=1; for(int i=s;i<=e;i++) ans=lcm(ans,i);
	//printf("%d\n",ans); 
	convert(now); now=atoi();  check(now);
	while(next_permutation(num+1,num+len+1))
	{
		now=atoi(); check(now);
	}
	if(!flag) printf("No answer\n");
	return 0;
}