Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
125592 | 余冠学 | 火柴棒等式 | C++ | 通过 | 100 | 18 MS | 248 KB | 684 | 2024-01-23 17:22:44 |
# 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 <= 1000;a++){ for (long long b = 0;b <= 1000;b++){ long long c = a + b; if (getn(a) + getn(b) + getn(c) == n && (a != b || record[a])){ cnt++; if (a == b) record[a] = !record[a]; } } }cout << cnt; return 0; }