p1149专题

P1149 [NOIP2008 提高组] 火柴棒等式(一个比较有意思的题)

P1149 [NOIP2008 提高组] 火柴棒等式 #include <bits/stdc++.h>using namespace std;int n, ans, a[11111]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6};bool vis[11111][11111];int main(){cin >> n;//计算每个数需要的火柴棒for(int i=10;

P1149 火柴棒等式(打表暴力 暴力出奇迹)

给你n根火柴棍,你可以拼出多少个形如“A+B=CA+B=C”的等式?等式中的AA、BB、CC是用火柴棍拼出的整数(若该数非零,则最高位不能是00)。用火柴棍拼数字0-90−9的拼法如图所示: 注意: 1加号与等号各自需要两根火柴棍 2如果A≠BA≠B,则A+B=CA+B=C与B+A=CB+A=C视为不同的等式(A,B,C>=0A,B,C>=0) 3nn根火柴棍必须全部用上 输入输出格式

P1149

题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=CA+B=C”的等式?等式中的AA、BB、CC是用火柴棍拼出的整数(若该数非零,则最高位不能是00)。用火柴棍拼数字0-90−9的拼法如图所示: 注意: 加号与等号各自需要两根火柴棍 如果A≠BA≠B,则A+B=CA+B=C与B+A=CB+A=C视为不同的等式(A,B,C>=0A,B,C>=0) nn根火柴棍必须全部用上 输入输出

C++编程解析-P1149火柴棒等式-函数

解题思路: 首先,我们要将数字0-9所用的火柴棒数目存储到数组中,因为,n的范围小于等于24,所以,999是等式当中可能出现的最大的数字,所以,我们从0-999,挑选两个加数,计算出两个加数所用的火柴数目,再计算出两个加数和的火柴数目,将前两项火柴数目的和加上加号和等号所用的火柴数目。是否将火柴全部用完。用完则满足条件,否则,则不是。 参考程序: #include<iostream>u