1 条题解
-
0
既然只看和的个位数,那么每个数都可以只看个位数了
#include <bits/stdc++.h> using namespace std; int t, n; int a[212345]; int cnt[15]; //储存每个个位数出现了几次 int main() { cin >> t; while (t--) { //输入 cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; //末尾数字只跟每个数的末位数字有关 //统计一下每个末尾数字出现了几次 for (int i = 0; i <= 9; i++) cnt[i] = 0; for (int i = 1; i <= n; i++) cnt[a[i] % 10]++; bool ans = false; //初始认为不存在 for (int i = 0; i <= 9; i++) for (int j = 0; j <= 9; j++) for (int k = 0; k <= 9; k++) { if ((i + j + k) % 10 != 3) continue; //初始认为存在三个数个位分别是 i,j,k bool flag = true; cnt[i]--; cnt[j]--; cnt[k]--; if (cnt[i] < 0) flag = false; if (cnt[j] < 0) flag = false; if (cnt[k] < 0) flag = false; //更新答案 if (flag) ans = true; //还原cnt数组 cnt[i]++; cnt[j]++; cnt[k]++; } if (ans) cout << "YES\n"; else cout << "NO\n"; } return 0; }
- 1
信息
- ID
- 1105
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 16
- 已通过
- 4
- 上传者