比赛 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;
}