zoukankan      html  css  js  c++  java
  • P1149 火柴棒等式

    P1149 火柴棒等式

    本来想着打表来,然后发现自己算不出来,AC代码造福一下人类,代码帮你表 nice

    0~12 13 14 15 16 17 18 19 20 21 22 23 24
    0 1 2 8 9 6 9 29 39 38 65 88 128

    还好我没有打表QWQ

    说一下正解吧

    首先存一下摆每个0~9数字需要多少根棍(拿走不客气)

    a [ i ] 表示摆出数字 i 需要多少根火柴

    0 1 2 3 4 5 6 7 8 9
    6 2 5 5 4 5 6 3 7 6

    Ps:

       你可以要求电脑继续帮你算,因为摆一个数字,火柴棒数不可能为0,所以摆出这个数字所需火柴棒数就等于摆出它各位数字和十位数字火柴棒数之和

       即 

    然后for循环枚举

    (1)两层for循环枚举   i   j 不相等的情况

    (2)一层for循环枚举   i   j 相等的情况

     f [ i ] 表示用 i 根火柴 可以摆出多少个式子

    每次枚举一个式子,对应的

    不要忘了运算符号

     提醒

    for循环啊,i  j 我大概枚举到了1000  ,为了AC多枚举没关系,QWQ

    代码

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<cstring>
    #include<string>
    
    using namespace std;
    
    int n,cnt;
    int a[10000]={6,2,5,5,4,5,
                  6,3,7,6,8
                  },f[100000];
                
    int main()
    {
        scanf("%d",&n);
        
        for(int i=0;i<=1000;i++)
          for(int j=0;j<=1000;j++)
          {
              if(a[i]==0) a[i]=a[i/10]+a[i%10];
              if(a[j]==0) a[j]=a[j/10]+a[j%10];
              
            if(i!=j)
            {
                if((i+j)>10&&a[i+j]==0)
                a[i+j]=a[(i+j)/10]+a[(i+j)%10];
                
                f[a[i]+a[j]+a[i+j]+4]++;
            } 
             
          }
        for(int i=0;i<=1000;i++)
        {
            if(a[i]==0) a[i]=a[i/10]+a[i%10];
            
            if((i*2)>10&&a[i*2]==0)
              a[i*2]=a[(i*2)/10]+a[(i*2)%10];
            f[a[i]*2+a[i*2]+4]++;
        }
    
        for(int i=0;i<=24;i++)
        printf("%d
    ",f[i]);
    
        return 0;    
        
    }
  • 相关阅读:
    Filesystem Case-Sensitivity Mismatch
    内存分配
    单链表
    PHP校验日期格式是否合法
    Automatically populating $HTTP_RAW_POST_DATA is deprecated
    preg_match(): Compilation failed: character value in x{} or o{} is too large at offset 8
    CGI 和 FastCGI 协议的运行原理
    冒泡排序
    油猴子脚本-过滤百度广告
    查看chrome插件源码
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/10964488.html
Copyright © 2011-2022 走看看