Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
99919 modongtao 火柴棒等式 C++ 解答错误 90 9 MS 244 KB 690 2023-08-24 10:23:52

Tests(9/10):


#include <bits/stdc++.h> using namespace std; int num[30] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6}; int dfs(int n, int a, int b, int stage) { if (n <= 0) return 0; if (stage == 2) { int t = a + b; int req = 0; while (t) { req = req + num[t % 10]; t /= 10; } return req == n; } int & t = stage == 0 ? a : b; int p = t; int tot=0; for (int i = 0; i <= 9; i++) { t = p * 10 + i; if (t != 0) tot += dfs(n - num[i], a, b, stage); tot += dfs(n - num[i], a, b, stage + 1); } return tot; } int main() { int n; cin >> n; if (n <= 4) { cout << 0 << endl; return 0; } n -= 4; cout << dfs(n, 0, 0, 0) << endl; return 0; }


测评信息: