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