这道题我果不其然的AC了,一看到n<=24这这么水小的数据,只要是个人就会想到打表或者暴力,我怕超时,用暴力来打表…
我不会告诉你C202207jiangjinbei(蒋金贝)用if枚举+用手算(在我们OJ)都得了10分
我也不会告诉你我NM还把暴力打表代码优化了一个for循环才成功把表打出来
思路
简单的暴力,但要想到好方法,不然代码量会很大或直接超时
首先我们需要数出用火柴棒分别摆出数字0~9的数量,存入数组里
枚举两个加数,根据加数算出正确的和数,在check一下用这3个数字加上加号和等号满不满足总和为n,若满足,则计数器++
注意
记得加+、=的4根
计算火柴棒的函数注意特判0的情况
加数最好枚举到1000,因为4位+4位=4位无论如何都超过了24(n的最大值),所以不用枚举更多,如果你想用n算出加数范围当然可以,但切记不要反而让你的算法变的更慢,否则得不偿失
好了同学们这道题这么的水自己动手做吧
在下就不亮只有10行的打表代码了