记录编号 38882 评测结果 AAAAAAAAAA
题目名称 [RQNOJ 166] 隐藏的信息 最终得分 100
用户昵称 GravatarCzb。 是否通过 通过
代码语言 C++ 运行时间 0.014 s
提交时间 2012-06-20 09:24:26 内存使用 0.29 MiB
显示代码纯文本
#include<stdio.h>
#include<string.h>
 
int n,m,a,b,ans;
 
bool flag,bo[10];
 
char s[10];
 
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);
}
 
void dfs(int k)
{
    if(k>n)
    {
        if(ans%m==0)
        {
            flag=true;
            printf("%d\n",ans);
        }
        return;
    }
    for(int i=1;i<=9;i++)
    {
        if(!bo[i])
        {
            bo[i]=true;
            ans=ans*10+i;
            dfs(k+1);
            ans/=10;
            bo[i]=false;
        }
    }
}
 
int main()
{
    freopen("lcsa.in","r",stdin);
    freopen("lcsa.out","w",stdout);
    int i;
    scanf("%s\n%d%d",s,&a,&b);
	memset(bo,1,sizeof(bo));
    n=strlen(s);m=a;
	for(i=0;i<n;i++)
		bo[s[i]-'0']=false;
    for(i=a+1;i<=b;i++)
        m=lcm(m,i);
    dfs(1);
    if(!flag)printf("No answer\n");
    return 0;
}