Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
125647 | 陈未一 | 火柴棒等式 | C++ | 通过 | 100 | 0 MS | 264 KB | 637 | 2024-01-23 19:56:42 |
#include <bits/stdc++.h> using namespace std; int Need[]= {6,2,5,5,4,5,6,3,7,6}; int M[2000]; int Match(int cur) { int ans=0; if(cur==0) return 6; while(cur>0) { ans+= Need[cur%10]; cur/=10; } return ans; } void GetMatch() { for(int i=0; i<=1999; ++i) M[i]=Match(i); } int main() { int ans=0,n; scanf("%d",&n); GetMatch(); for(int i=0; i<=1000; ++i) for(int j=i; j<=1000; ++j) { int a=M[i]; int b=M[j]; if(a+b>n-6) continue; if(a+b+M[i+j]+4==n) i==j?ans++:ans+=2; } printf("%d\n",ans); return 0; }