比赛 |
20120619 |
评测结果 |
AAAAAAAAAA |
题目名称 |
隐藏的信息 |
最终得分 |
100 |
用户昵称 |
ミント |
运行时间 |
0.774 s |
代码语言 |
C++ |
内存使用 |
76.61 MiB |
提交时间 |
2016-04-22 09:50:40 |
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
ifstream fin("lcsa.in");
ofstream fout("lcsa.out");
const int maxn = 10000000 + 10;
int num[maxn], ans[maxn], anskount = 0;
int p, q, lstr;
void Init(){
memset(num, 0, sizeof(num));
memset(ans, 0, sizeof(ans));
return ;
}
inline int CalInt()
{
int ret = 0;
for(int i=lstr;i>=1;i--)
ret = ret * 10 + num[i];
return ret;
}
void Work(){
string str;
fin>>str;
fin>>p>>q;
lstr = str.length();
for(int i=1;i<=lstr;i++)
num[i] = str[i-1] - '0';
sort(num+1, num+lstr+1);
do{
bool flag = true;
int n = CalInt();
for(int i=p;i<=q;i++)
if(n%i!=0){
flag = false;
break;
}
if(flag){
anskount++;
ans[anskount] = n;
}
}while(next_permutation(num+1, num+lstr+1));
sort(ans+1, ans+anskount+1);
if(anskount==0){
fout<<"No answer"<<endl;
return ;
}
else{
for(int i=1;i<=anskount;i++)
fout<<ans[i]<<endl;
}
return ;
}
int main()
{
Init();
Work();
fin.close();
fout.close();
return 0;
}