Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
125565 | 余冠学 | 火柴棒等式 | C++ | 解答错误 | 40 | 0 MS | 252 KB | 720 | 2024-01-23 17:14:34 |
# include <iostream> # include <memory.h> using namespace std; const long long num[11] = {6,2,5,5,4,5,6,3,7,6}; bool record[24]; long long getn(long long x){ if (x == 0) return 6; long long sum = 0; while (x != 0){ sum += num[(x % 10)]; x /= 10; }return sum; }int main(){ memset(record,true,sizeof(record)); long long n,cnt = 0; cin >> n; if (n < 13){ cout << 0; return 0; }n -= 4; for (long long a = 0;a <= n;a++){ for (long long b = 0;b <= n;b++){ long long c = a + b; if (getn(a) + getn(b) + getn(c) == n && (a != b || record[a])){ cnt++; // prlong longf("%d,%d,%d\n",a,b,c); if (a == b) record[a] = !record[a]; } } }cout << cnt; return 0; }