计蒜客 - T1245 火柴棒等式(枚举)

题意:给出n根火柴,问有多少种拼成不同等式的方式。

题记:枚举A和B,然后算出C。最后把火柴数量算一算是否等于n就可以了。

#include
#include

using namespace std;
typedef long long ll;
const int N=1e4+10;
int num[10]={
     6,2,5,5,4,5,6,3,7,6};

int getnum(int x){
     
    int res=0;
    res+=num[x%10];
    x/=10;
    while(x>0){
     
        res+=num[x%10];
        x/=10;
    }
    return res;
}

int main(){
     
    int n;
    cin>>n;
    int ans=0;
    for(int a=0;a<=2000;a++){
     
        for(int b=0;b<=2000;b++){
     
            int c=a+b;
            int numa=getnum(a);
            int numb=getnum(b);
            int numc=getnum(c);
            if(numa+numb+numc+4==n)
                ans++;
        }
    }
    cout<<ans<<endl;
    return 0;
}

你可能感兴趣的:(计蒜客)