记录编号 | 253701 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [RQNOJ 166] 隐藏的信息 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.008 s | ||
提交时间 | 2016-04-22 19:35:31 | 内存使用 | 0.32 MiB | ||
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int SIZEN=15; int P,Q,N; char str[SIZEN]; int a[SIZEN]; int len; void read() { scanf("%s",str); scanf("%d%d",&P,&Q); len=strlen(str); for(int i=0;i<len;i++) a[i]=str[i]-'0'; } int calc() { int re=0; for(int i=0;i<len;i++) re=re*10+a[i]; return re; } int fact[SIZEN]; void work() { sort(a,a+len); fact[0]=1; for(int i=1;i<=len;i++) fact[i]=fact[i-1]*i; N=fact[len]; bool flag=0; for(int i=1;i<=N;i++) { int now=calc(); int j; for(j=P;j<=Q;j++) { if(now%j!=0) break; } if(j==Q+1) { printf("%d\n",now); flag=1; } next_permutation(a,a+len); } if(!flag) printf("No answer\n"); } int main() { freopen("lcsa.in","r",stdin); freopen("lcsa.out","w",stdout); read(); work(); return 0; }