洛谷 P1149 火柴棒等式(太suang络吧)
题目描述
给你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解释】
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、给你n根火柴棒,求有多少种等式。
2、给你不同等式,求用了多少根火柴棒。
个人认为第二种更好
可以暴力枚举,也可以递归
迭代的方法生成了2000左右的数字所需火柴棒数,然后再枚举C和A,得到B=C-A,看看三个数字的火柴数目是否等于n就可以了。
洛谷已经AC
#include<cstdio>
int main()
{int a[2001]={6};//第一个初始化为6 因为数字0用火柴棒摆出来要六根 int n;//一共给了多少火柴 int b[10]={6,2,5,5,4,5,6,3,7,6};//这个代表0~9分别需要多少根火柴 把它们存在一个数组里面 int s=0;//s是一个整数,表示能拼成的不同等式的数目。等下会输出的 int j;scanf("%d",&n);//输入的n代表火柴的总根数 for(int i=1;i<=2000;i++)//迭代的方法生成了2000左右的数字所需火柴棒数 {j=i;//j代表列举的每一个数 while(j>=1)//这个while循环 目的是求每个数所用的火柴棒{a[i]=a[i]+b[j%10];j=j/10;}}for(int i=0;i<=1000;i++)//把1-1000表示出来就行{for(j=0;j<=1000;j++)if(a[i]+a[j]+a[i+j]+4==n)//if语句 判断 总的式子 是否正好可以把火柴棒用完//别忘了+4 因为还有加号与等号 s++;//能拼成的不同等式的数目++ }printf("%d",s);return 0;
}
洛谷 P1149 火柴棒等式(太suang络吧)相关推荐
- Java 洛谷 P1149 火柴棒等式
题目链接:https://www.luogu.com.cn/problem/P1149 代码实例: import java.util.Scanner;public class Main {public ...
- Java洛谷P1149 火柴棒等式
题目链接:https://www.luogu.com.cn/problem/P1149 代码实例: import java.util.Scanner;public class Main {public ...
- 洛谷 P1149 火柴棒等式
嗯.... 这道题好讨厌啊!!!! 一开始莫名RE,然后发现数组小了,然后发现后面几个点总是WA,原来推的少了.... 并且这道题的思路真的好水啊!! 先看一下题:https://ww ...
- 洛谷P1136火柴棒等式
题目描述: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: ...
- P1149 火柴棒等式
火柴棒等式 题目: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0−9的拼法如图 ...
- 【暴力枚举】【JAVA】P1149火柴棒数
思路 错误 用数组把0-9,每个数字所需要的火柴棒数保存下来,序号是数字,值是该数字需要的火柴棒数,使用双重循环遍历0-9,判断n-4-arr[i]-arr[j]==arr[i+j],但是我并没有把火 ...
- 暴力枚举——火柴棒等式(洛谷 P1149)
题目选自洛谷P1149 很简单的枚举,首先用一个数组保存数字0-9 单个数字需要的火柴棍数目, 再编写一个求一个数个个位数上数字需要火柴棍数目之和,返回给待遍历的数字, 然后遍历即可. 遍历的范围我选 ...
- P1149 [NOIP2008 提高组] 火柴棒等式——暴力枚举
[NOIP2008 提高组] 火柴棒等式 题目描述 给你 n n n 根火柴棍,你可以拼出多少个形如 A + B = C A+B=C A+B=C 的等式?等式中的 A A A. B B B. C C ...
- c语言 火柴加法,C语言程序设计100例之(18):火柴棒等式
例18 火柴棒等式 用n根火柴棍,可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棒拼出的整数(若该数非零,则最高位不能是0).用火柴棒拼数字0~9的拼法如图 ...
最新文章
- P1091 合唱队形[单调性+DP]
- 【频谱共享】基于认知无线电的VCG拍卖机制频谱共享算法的MATLAB仿真
- 【设计模式】—— 外观模式Facade
- 程序员的你是否熟练掌握Chrome开发者工具?
- 采购订单中的容差项目解释
- 20145238-荆玉茗 《信息安全系统设计基础》第7周学习总结
- 【Flink】Object Reuse 模式(Stream API) 性能优化 chain 数据重用 不深拷贝
- phpstudy 升级mysql 及MySQL服务等问题
- 《I'm a Mac:雄狮训练手册》——2.3 账户类型
- 7.详解第三代移动通信系统——WCDMA、TD-SCDMA、CDMA2000
- SpringBoot整合ThymeLeaf前后端分离使用案例
- 一杯茶的时间,上手第三方登录类库 JustAuth
- Json-Handle插件下载安装使用
- 搞定 conda 安装包报错问题
- 整整7天,梳理 Java开发2022年(图文+代码)面试题及答案
- 【A-SOUL】嘉然 MMD模型下载
- ios生成随机数方法
- 【基础知识】事件模型
- SmartDraw 2010 破解
- 家庭网络WIFI相关知识
热门文章
- 【Java进阶】java函数式编程的使用
- ant design vue 中Notification隐藏右上角叉号
- Game Jam 人气作品!!!
- 如何使用PHP和MySQL搭建一个简单的算命网站
- 科研课题查新报告该怎么写?
- [小雨学编程之C#] 11 描述运算意图的句子:表达式
- flash 中matrix
- js循环添加事件的两种方法
- 2023第十四届蓝桥杯C/C++B组省赛题解
- Paper Rewiew: Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity