4 条题解

  • 0
    @ 2024-9-22 17:01:27
    #include<bits/stdc++.h>
    using namespace std;
    int c;
    long long a[201],m,b[201],mb;
    long long gen(int x,int y)
    {
        long long can=0;
        while(x>0)
        {
            can=can+pow(x%10,y+1);
            x/=10;
        }
        return can;
    }
    int main()
    {
        scanf("%d",&c);
        int tmp;
        while(scanf("%d",&tmp)!=EOF)
        {
            if(tmp==-1) break;
            a[++m]=tmp; 
        }
        sort(a+1,a+1+m);
        for(int i=1;i<=c;i++)
        {
            mb=0;
            for(int j=1;j<=m;j++)
                if(a[j]!=0)
                    b[++mb]=gen(a[j],i);
            for(int j=1;j<=mb;j++)
                for(int k=1;k<=m;k++)
                    if(b[j]==a[k])
                        a[k]=-1;
        }
        for(int i=1;i<=m;i++)
            if(a[i]!=-1)
                printf("%lld ",a[i]);
        return 0;
    }
    

    信息

    ID
    1002
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    451
    已通过
    153
    上传者