4 条题解
-
0
#include<bits/stdc++.h> using namespace std; int mypow(int n, int lun)//按照规则平方 { int sum = 0; while (n) { int t = n % 10; sum += pow(t, lun); n /= 10; } return sum; } struct ac { int id;//编号 int panduan;//判断是否淘汰 0淘汰 int hou;//编号计算之后存放 }a[1000]; int main() { int n; while (cin >> n)//轮数 { int t = 0; while (cin >> a[t].id)//输入编号 a[t++].panduan = 1;//判断先置1 表示不出局 for (int i = 1;i <= n;i++)//进行几轮操作 { for (int j = 0;j < t;j++) if (a[j].panduan)//判断是否出局 a[j].hou = mypow(a[j].id, i + 1);//平方运算 for (int j = 0;j < t;j++) for (int q = 0;q < t;q++) if (a[j].id == a[q].hou && a[j].panduan) a[j].panduan = 0;//出局 } int b[10000], q = 0; for (int i = 0;i < t;i++) if (a[i].panduan) b[q++] = a[i].id; sort(b, b + q);//从小到大排序 for (int i = 0;i < q;i++) cout << b[i] << " "; cout << endl; } }
信息
- ID
- 1002
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 451
- 已通过
- 153
- 上传者