TYVJ P1012 火柴棒等式 Label:枚举

背景

NOIP2008年提高组第二题

描述

给你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根火柴棍必须全部用上

输入格式

输入文件matches.in共一行,又一个整数n(n<=24)。

输出格式

输出文件matches.out共一行,表示能拼成的不同等式的数目。

测试样例1

输入

【输入样例1】 
14 
【输入样例2】 
18

输出

【输出样例1】 

【输出样例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

代码

 1 #include<iostream>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cstdio>
 5 using namespace std;
 6 int a[10]={6,2,5,5,4,5,6,3,7,6},sum[1005],
 7     N,M,ans;
 8 int get(int i){
 9     if(i==0) return 6;
10     if(sum[i]>0) return sum[i];
11     int pos=0;
12     while(i>0){
13         pos+=a[i%10];
14         i/=10;
15     }
16     return sum[i]=pos;
17 }
18 int main(){
19 //  freopen("01.txt","r",stdin);
20     scanf("%d",&N);
21     N-=4;
22     for(int i=0;i<=1000;i++){
23         if(get(i)>N) continue;
24         for(int j=0;j<=1000;j++){
25             if(get(i)+get(j)>N) continue;
26             if(get(i)+get(j)+get(i+j)==N){
27                 ++ans;
28             }
29         }
30     }
31     printf("%d\n",ans);
32     return 0;
33 }

枚举到1000,加了点记忆化,(题解说枚举到800就好)

转载于:https://www.cnblogs.com/radiumlrb/p/5801250.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java math max_Java Math类静态double max(double d1,double d2)示例

java math max数学类静态double max(double d1&#xff0c;double d2) (Math Class static double max(double d1,double d2) ) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to return the maximum one of both the give…

python怎么开发软件_怎么使用python进行软件开发

一、下载pyinstaller 我使用的版本为PyInstaller-2.1&#xff0c;支持python版本2.3-2.7&#xff0c;点击这里下载。 二、安装pyinstaller 下载完成后&#xff0c;解压即可。我的解压目录为D:\Python27\PyInstaller-2.1\ 三、使用pyinstaller打包.py成.exe应用程序 1.注意使用前…

28、清华大学脑机接口实验组SSVEP数据集:通过视觉触发BCI[飞一般的赶脚!]

前言&#xff1a; 哈喽&#xff0c;最近对清华大学脑机接口的数据进行了尝试&#xff0c;输入到了DL模型中&#xff0c;以下是本人对于清华BCI数据的个人见解。 数据地址&#xff1a; 清华大学脑机接口研究组 (tsinghua.edu.cn) 打开网站可以看到有很多个数据&#xff0c;官…

python Pexpect

http://www.cnblogs.com/dkblog/archive/2013/03/20/2970738.htmlhttp://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/index.htmlhttp://www.cnblogs.com/dkblog/archive/2013/03/20/2970738.htmlpython Pexpect Pexpect 是一个用来启动子程序并对其进行自动控制的纯 P…

python 幂运算 整数_在Python中检查一个数字是否是另一个数字的幂

python 幂运算 整数To solve this problem simply, we will use the log() function from the math module. The math module provides us various mathematical operations and here we will use the log() function from this module. In Python working of log() function, …

3dmax镜像后模型线条乱了_3dMax入门教程来啦!小白赶紧收藏!

3D Studio Max&#xff0c;常简称为3d Max或3ds MAX&#xff0c;是Discreet公司开发的&#xff08;后被Autodesk公司合并&#xff09;基于PC系统的三维动画渲染和制作软件&#xff0c; 3dmax软件主要功能有建模&#xff0c;动画&#xff0c;渲染&#xff0c;特效等&#xff0c;…

java中哲学家就餐死锁_哲学家就餐问题与死锁总结

死锁的四个条件&#xff1a;(1) 互斥条件&#xff1a;一个资源每次只能被一个进程使用。(2) 请求与保持条件&#xff1a;一个进程因请求资源而阻塞时&#xff0c;对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源&#xff0c;在末使用完之前&#xff0c;不能强行剥夺。…

linux扫描工具之nmap

Linux下有很多强大网络扫描工具&#xff0c;网络扫描工具可以分为&#xff1a;主机扫描、主机服务扫描、路由扫描等,nmap支持批量主机扫描和主机服务扫描。检测安装&#xff1a;[rootbier ~]# rpm -qa nmap nmap-5.51-4.el6.x86_64如果没有安装就安装一下nmap的安装直接使用&am…

如何将多个一维列表转化为二维列表_数据分析2_如何处理一维、二维数据

吞一块大饼&#xff0c;还不如切成小块吃得香常见的数据集&#xff0c;要么是数列&#xff0c;要么是表格&#xff1b;因此&#xff0c;数据分析最首要的是&#xff0c;处理一维、二维数据。主要知识点可参考如图。如需要&#xff0c;可点击以下百度网盘链接下载数据分析基础知…

关于java中锁的面试题_Java面试题-Java中的锁

1. 如何实现乐观锁(CAS)&#xff1f;如何避免ABA问题&#xff1f;答&#xff1a;1)读取内存值的方式实现了乐观锁(比如&#xff1a;SVN系统)&#xff0c;方法&#xff1a;第一&#xff0c;比较内存值和期望值&#xff1b;第二&#xff0c;替换内存值为要替换值。2)带参数版本来…

NSUserDefaults

2019独角兽企业重金招聘Python工程师标准>>> NSUserDefaults 转载于:https://my.oschina.net/18829297883/blog/737931

什么是算术运算和逻辑运算_8086微处理器的算术和逻辑运算

什么是算术运算和逻辑运算逻辑指令 (Logical Instructions) a) AND: Logical AND a)AND&#xff1a;逻辑AND Atleast one of the operant should be a register or a memory operant both the operant cannot be a memory location or immediate operant. 操作中的至少一个应该…

python文件读写用到的库_Python使用pyshp库读取shapefile信息的方法

通过pyshp库&#xff0c;可以读写shapefile文件&#xff0c;查询相关信息&#xff0c;github地址为 import shapefile # 使用pyshp库 file shapefile.reader("data\\市界.shp") shapes file.shapes() # print(file.shapetype) # 输出shp类型null 0 point 1 poly…

h5引入json_Vue中如何使用本地Json文件?

我需要将菜单配置成Json文件&#xff0c;然后再程序中引入{{menu.name}}import menuListConfig from ../../config/menu.jsonexport default {name: "Sider",data(){return {menuList:JSON.parse(JSON.stringify(menuListConfig))}}}需要如何做&#xff0c;才能v-for…

深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器

前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素&#xff0c;对应于CSS中的属性选择器。属性过滤选择器可分为简单属性选择器、具体属性选择器和条件属性选择器三种。本文将详细该部分内容 简单属性选择器 [attribute] [attribute]选择器选择拥有该属性的元…

c++ scanf读取_使用scanf()读取内存地址并在C中打印其值

c scanf读取Here, we have to input a valid memory address and print the value stored at memory address in C. 在这里&#xff0c;我们必须输入一个有效的内存地址并在C中打印存储在内存地址中的值。 To input and print a memory address, we use "%p" format…

python正则匹配_Python正则表达式只匹配一次

我正在尝试创建一个简单的降价乳胶转换器,只是为了学习 python和基本的正则表达式,但我不知道试图弄清楚为什么下面的代码不起作用&#xff1a; re.sub (r\[\*\](.*?)\[\*\]: ?(.*?)$, r\\footnote{\2}\1, s, flagsre.MULTILINE|re.DOTALL) 我想转换像&#xff1a; s "…

Virtual Network (1) - How to use it in a guest

本文将讲述一个问题&#xff1a;kvm guest使用libvirt xml定义如何使用virtual network&#xff1f;1&#xff09;nat&#xff0c; route &#xff0c;isolated, open类型在host中定义virtual network会创建一个虚拟的bridge&#xff0c;相当于一个交换机。guest只需要连接到这…

java string做除法_如果用java来实现传统方式的除法,用String来保存结果,想精确多少位都行,那改怎么做?...

我会加分的&#xff0c;提个思路都行&#xff0c;目前做了个乘法和加法&#xff0c;但是现在对除法没有什么思路。以下是我编写的功能&#xff1a;publicclassCalculator{publicstaticStringmulti(Strings1,Strings2){if(s1nu...我会加分的&#xff0c;提个思路都行&#xff0c…

c语言数组的声明和初始化_C声明和初始化能力问题和解答

c语言数组的声明和初始化This section contains aptitude questions and answers on C language Declarations and Initialization. 本节包含有关C语言声明和初始化的适切性问题和解答。 1) What will be the output of following program ? int main(){int m10;int xprintf(…