比赛 |
20120619 |
评测结果 |
AWWWWWWWWW |
题目名称 |
隐藏的信息 |
最终得分 |
10 |
用户昵称 |
TBK |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2012-06-19 20:25:40 |
显示代码纯文本
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
#include <set>
#include <algorithm>
#define MAXN 0x7fffffff
using namespace std;
int a[10],b,c,d,l,m,n,x,y,z,test,as[20000000],ac;
long long t;
int Compare(const void*elem1,const void*elem2)
{
return *(int *)elem1 -*(int *)elem2;
}
int gcd(int x,int y)
{
if (x==0) return y;
if (y==0) return x;
if (x<y)
{
test=x;
x=y;
y=test;
}
if (x%y==0) return y;
return gcd(y,x%y);
}
void DFS(int k)
{
int i,j;
if (k==c)
{
if (test%t==0)
{
as[ac]=test;
ac++;
}
return;
}
for (i=c;i>=1;i--)
if (a[i]==0)
{
a[i]++;
test+=(i*(int)pow(10.0,(double)k));
DFS(k+1);
a[i]--;
test-=(i*(int)pow(10.0,(double)k));
}
}
int main(void)
{
freopen("lcsa.in","r",stdin);
freopen("lcsa.out","w",stdout);
scanf("%d",&b);
c=(int)log10((double)b)+1;
scanf("%d%d",&l,&m);
t=l;
for (d=l+1;d<=m;d++)
{
n=gcd(t,d);
t*=d;
t/=n;
}
test=0;
DFS(0);
qsort(as,ac,sizeof(int),Compare);
for (d=0;d<ac;d++) cout<<as[d]<<endl;
fclose(stdin);
fclose(stdout);
return 0;
}