暴力枚举——火柴棒等式(洛谷 P1149)
题目选自洛谷P1149
很简单的枚举,首先用一个数组保存数字0-9 单个数字需要的火柴棍数目,
再编写一个求一个数个个位数上数字需要火柴棍数目之和,返回给待遍历的数字,
然后遍历即可。
遍历的范围我选择的1000,因为最多24根,去掉+=号还有20根可以用,
全部用于最少的数字1也只能出现十个数字,所以不能是五位数,
题目描述
给你n根火柴棍,你可以拼出多少个形如“A+B=CA+B=C”的等式?等式中的AA、BB、CC是用火柴棍拼出的整数(若该数非零,则最高位不能是00)。用火柴棍拼数字0-90−9的拼法如图所示:
注意:
加号与等号各自需要两根火柴棍
如果A≠B,则A+B=C与B+A=C视为不同的等式(A,B,C>=0)
n根火柴棍必须全部用上
输入格式
一个整数n(n<=24)。
输出格式
一个整数,能拼成的不同等式的数目。
输入输出样例
输入 1
14
输出 1
2
输入 2
18
输出 2
9
说明/提示
【输入输出样例1解释】
22个等式为0+1=1和1+0=1。
【输入输出样例2解释】
99个等式为:
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
解题代码:
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
int num[10]={6,2,5,5,4,5,6,3,7,6};//记录从0-9需要的火柴数
int n,ans;
int gs(int x){ //求一个数需要的火柴棍数int a=0; int m=x;while(m!=0){a+=num[m%10];m/=10;}if(x==0) a+=num[0];return a;
}
int main(){cin>>n;for(int i=0;i<=1000;i++){for(int j=0;j<=1000;j++){int k=i+j;if(gs(i)+gs(j)+gs(k)==n-4) ans++;}}cout<<ans<<endl;return 0;
}
暴力枚举——火柴棒等式(洛谷 P1149)相关推荐
- 暴力枚举——回文质数(洛谷 P1217)
题目选自洛谷P1217 此题异常的坑,需要很多的处理和简化: 1.回文质数一定不是2的倍数,因为质数不可能是2的倍数: 2.最大的回文质数是9989899(自己测). 于是,本蒟蒻的代码就出来了 题目 ...
- P1149 [NOIP2008 提高组] 火柴棒等式——暴力枚举
[NOIP2008 提高组] 火柴棒等式 题目描述 给你 n n n 根火柴棍,你可以拼出多少个形如 A + B = C A+B=C A+B=C 的等式?等式中的 A A A. B B B. C C ...
- P1149 火柴棒等式
火柴棒等式 题目: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0−9的拼法如图 ...
- c语言 火柴加法,C语言程序设计100例之(18):火柴棒等式
例18 火柴棒等式 用n根火柴棍,可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棒拼出的整数(若该数非零,则最高位不能是0).用火柴棒拼数字0~9的拼法如图 ...
- “火柴棒等式”【题解】
"火柴棒等式"的题目 题目 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能 ...
- [NOIP2008] 火柴棒等式
220. [NOIP2008] 火柴棒等式 ★ 输入文件: matches.in 输出文件: matches.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] ...
- 蓝桥云算法题之火柴棒等式——Python满分解答
火柴棒等式 题目描述 图片描述 输入描述 输出描述 输入输出样例 示例 1 输入 输出 样例解释 示例 2 输入 输出 样例解释 解题思路 代码实现 题目描述 给你 n 根火柴棍,你可以拼出多少个形如 ...
- HNUST OJ 2294 火柴棒等式3.0
问题 K: 火柴棒等式3.0 时间限制: 1 Sec 内存限制: 128 MB 题目描述 给定一个由火柴棒组成的算式,问:是否能够移动一根火柴棒使算式成立.例如:5+7=7,可以通过移动一根火柴变成 ...
- 洛谷 P1149 火柴棒等式(太suang络吧)
题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=CA+B=C"的等式?等式中的AA.BB.CC是用火柴棍拼出的整数(若该数非零,则最高位不能是00).用火柴棍拼数字0-90 ...
最新文章
- LoadRunner中log的使用总结
- 修改闭包内使用的外部变量
- LNMP和LAMP的编译安装
- 移动端手势库Hammer.js学习
- 绝对养眼 Tech·Ed 2008大会SHOW GIRL动感热舞
- Yahoo邮箱中全部邮件的下载保存
- 【配置文件】大家来谈谈这个log4j到底有什么用?
- 每天一点点之vue框架开发 - vue坑-input 的checked渲染问题
- 【数据库原理实验(openGauss)】交互式SQL语句
- 拓端tecdat|R语言区间数据回归分析
- 如何挑选PMP培训机构
- matlab x对数坐标,matlab 对数坐标
- matlab 坐标点标记符号表
- 关于示波器是否必须要接地线的疑问
- 论文阅读笔记-FGN: Fusion Glyph Network for Chinese Named Entity Recognition
- 《量化投资策略如何现额益简及PDF电子书下载
- 前端设计 响应式设计_响应设计简介
- 数据中心管理与运维的问题与对策
- 美团基于跨平台 Flutter 的动态化平台建设
- 电脑不小心被格式化了 里面的应用软件如何恢复?