比赛 |
20111111 |
评测结果 |
WWWWWWWWWW |
题目名称 |
吉祥数 |
最终得分 |
0 |
用户昵称 |
王者自由 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-11-11 09:01:13 |
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <cmath>
int n, m, k;
int a[256], b[256];
unsigned short t[8000000];
inline int calc(int x, int p) {
if(x == 0) return 0;
return pow(x/100, p) + pow(x/10%10, p) + pow(x%10, p);
}
inline int cmp(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main() {
freopen("ghillie.in","r",stdin);
freopen("ghillie.out","w",stdout);
scanf("%d", &n);
for(m=1; scanf("%d", a+m) == 1; m++)
t[a[m]] = m;
m--;
for(int i=2; i<=n+1; i++)
for(int j=1; j<=m; j++) {
if(a[j] == 0) continue;
k = calc(a[j], i);
a[t[k]] = 0;
}
k = 0;
for(int i=1; i<=m; i++)
if(a[i] > 0)
b[++k] = a[i];
qsort(b+1, k, sizeof(b[0]), cmp);
for(int i=1; i<k; i++)
printf("%d ", b[i]);
printf("%d\n", b[k]);
return 0;
}