• P1149 火柴棒等式


    P1149 火柴棒等式

    题目描述

    给你n根火柴棍,你可以拼出多少个形如“A+B=C ”的等式?等式中的是用火柴棍拼出的整数(若该数非零,则最高位不能是)。用火柴棍拼数字0-9 的拼法如图所示:

    注意:

    1. 加号与等号各自需要两根火柴棍

    2. 如果A≠B  A+B=C B+A=C 视为不同的等式(A,B,C>=0 )

    3. n根火柴棍必须全部用上

    输入格式

    一个整数n(n<=24)

    输出格式

    一个整数,能拼成的不同等式的数目。

    输入输出样例

    输入 
    14
    输出
    2
    输入 
    18
    输出 
    9

    说明/提示

    【输入输出样例1解释】

    2个等式为0+1=11+0=1

    【输入输出样例2解释】

    9个等式为:

    0+4=4
    0+11=11
    1+10=11
    2+2=4
    2+7=9
    4+0=4
    7+2=9
    10+1=11
    11+0=11
     1 n最大为24,减去4根用于等号和加号,剩下的20根,
     2 分给因子 和   和,所以因子最多用8根,就是1111 
     3 1111+1=1112-->最大用了25个超过24个
     4 
     5 解法:
     6 
     7 #include<bits/stdc++.h>
     8 using namespace std;
     9 map<int,int> mp;
    10 int cnt(int x)     //一个用来计算一个数需多少个火柴棒的函数
    11 {
    12     if(mp[x]) return mp[x];//已经计算过了,可以返回了
    13     if(x==0) return mp[0]; //将这个数字每一位的火柴棒的数量都计算出来
    14     int tmp=x,sum=0;
    15     while(tmp!=0){
    16         sum+=mp[tmp%10];
    17         tmp/=10;
    18     }
    19     return sum;
    20 }
    21 int main()
    22 {
    23     int i,j,Sum=0,n;    //sum是符合条件的
    24     cin>>n;
    25     for(int i=0;i<=2222;i++){//存到 数据里面
    26         if(i==0||i==6||i==9) mp[i]=6;
    27         else if(i==1) mp[i]=2;
    28         else if(i==2||i==3||i==5)mp[i]=5;
    29         else if(i==4) mp[i]=4;
    30         else if(i==7) mp[i]=3;
    31         else if(i==8) mp[i]=7;
    32         else mp[i]=cnt(i);
    33         cout<<i<<" "<<mp[i]<<" "<<endl;
    34     }
    35     for(i=0; i<=1000; i++)//暴力查找
    36         for(j=0; j<=1000; j++)
    37            if(mp[i]+mp[j]+mp[i+j]+4==n)
    38                 Sum++;
    39     cout<<Sum<<endl;
    40     return 0;
    41 }


  • 相关阅读:
    【BZOJ】4671: 异或图
    【LOJ】#2035. 「SDOI2016」征途
    【UOJ】#37. 【清华集训2014】主旋律
    【LOJ】#2320. 「清华集训 2017」生成树计数
    【LOJ】#2290. 「THUWC 2017」随机二分图
    【LOJ】#2291. 「THUSC 2016」补退选
    【LOJ】 #2545. 「JXOI2018」守卫
    【LOJ】#2292. 「THUSC 2016」成绩单
    【LOJ】#2562. 「SDOI2018」战略游戏
    《linux 内核全然剖析》sched.c sched.h 代码分析笔记
  • 原文地址:https://www.cnblogs.com/NirobertEinteson/p/12040668.html
Copyright © 2020-2023  润新知