• P1016 [NOIP2008T2]火柴棒等式


    不罗嗦,简单暴力枚举,由于输入规模比较小,希望能有更好的算法。

    题目ID:1016

    题目名称:[NOIP2008T2]火柴棒等式

    有效耗时:932 ms

    空间消耗:1872 KB


    程序代码:

     1 import java.util.Scanner;
     2 
     3 
     4 public class Main {
     5     static int[] a={6,2,5,5,4,5,6,3,7,6,2,2};
     6     
     7     static int getsum(int n){
     8         int sum=0;
     9         for(int i=0;i<1000;i++)
    10             for(int j=0;j<1000;j++){
    11                 int b=i+j;
    12                 if(getstick(i)+getstick(j)+getstick(b)+4==n){
    13                     sum++;
    14                 //    System.out.println(i+"+"+j+"="+b);
    15                 }
    16             }
    17         return sum;
    18     }
    19     
    20     /**
    21      * 获得某个数字需要多少根火柴
    22      * @param i
    23      * @return
    24      */
    25     static int getstick(int i){    
    26         if(i==0)
    27             return a[0];
    28         int sum=0;
    29         while(i>0){
    30             sum+=a[i%10];
    31             i=i/10;
    32         }
    33         return sum;                
    34     }
    35     
    36     
    37     /**
    38      * @param args
    39      */
    40     public static void main(String[] args) {
    41         // TODO Auto-generated method stub
    42         Main main=new Main();
    43         Scanner sc=new Scanner(System.in);
    44         int a=sc.nextInt();
    45         System.out.println(getsum(a));
    46         
    47         
    48     } 
    49 
    50 }

    题目描述

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


    注意:

    1. 加号与等号各自需要两根火柴棍
    2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)
    3. n根火柴棍必须全部用上

    输入格式

    共一行,又一个整数n(n<=24)。

    输出格式

    共一行,表示能拼成的不同等式的数目。

    样例输入

    样例一:
    14
    样例二:
    18

    样例输出

    样例一:
    2
    样例二:
    9

    数据范围与提示

    【输入输出样例1解释】 2个等式为0+1=1和1+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

  • 相关阅读:
    mysql教程(九) 索引详解
    mysql教程(八) 事务详解
    mysql教程(七) 约束详解
    mysql教程(七)创建表并添加约束
    mysql教程(六) 对字段的操作--添加、删除、修改
    mysql教程(五)limit的用法
    mysql教程(四)连接查询
    mysql教程(三)分组查询group by
    mysql教程(一)count函数与聚合函数
    mysql教程(二)数据库常用函数汇总
  • 原文地址:https://www.cnblogs.com/jinfang134/p/4034379.html
Copyright © 2020-2023  润新知