| 记录编号 | 
        38891 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        824.[RQNOJ 166] 隐藏的信息 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         Makazeu | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.012 s  | 
    
    
        | 提交时间 | 
        2012-06-20 13:44:32 | 
        内存使用 | 
        0.29 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#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;
}