1 条题解
-
1
#include <string> #include <cstdio> using namespace std; int main() { int n; cin >> n; long long prod = 1; bool big = false; bool zero = false; for (int i = 0; i < n; i++) { string s; cin >> s; string digits; for (char c : s) { if (c >= '0' && c <= '9') { digits += c; } } int start = 0; while (start < (int)digits.size() - 1 && digits[start] == '0') { start++; } digits = digits.substr(start); if (digits.empty() || digits == "0") { zero = true; break; } int len = digits.size(); int d = 0; for (int j = max(0, len - 3); j < len; j++) { d = d * 10 + (digits[j] - '0'); } if (len > 3 || (len == 3 && d >= 100)) big = true; if (!big && prod * d >= 100) big = true; prod = (prod * d) % 1000; } if (zero) { cout << 0 << endl; } else if (big) { printf("%03lld\n", prod); } else { cout << prod << endl; } return 0; }
- 1
信息
- ID
- 1086
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 1
- 上传者