noip火柴棍等式

2021-06-19 21:14:11 字數 1072 閱讀 3503

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

輸入檔案共一行,又乙個整數n(n<=24)。

輸出檔案共一行,表示能拼成的不同等式的數目。

樣例1:

14樣例2:

18

樣例1:

2樣例2:

9

比較好想的一種解

#include

using namespace std;

int main()

;//0-9每個數字需要的火柴

int num[5]=;

//先算出10-19999所有數字需要的火柴

for(i=10;i<=19999;i++)

for(tmp=0;tmp

>n;

//窮舉a+b=c的所有等式,根據之前算出的陣列計算火柴數,找出符合條件的

for(a=0;a<=10000;a++)

{ if(huochai[a]>n-8)

continue;

for(b=0;b<=10000;b++)

{if(huochai[b]>n-8)

continue;

if(huochai[a]+huochai[b]+huochai[a+b]+4==n)

{cout<

<<

<

火柴棍等式

給你n根火柴棒,你可以拼出多少個形如 a b c 的等式?等式中的a b c是用火柴棒拼出的整數 若該數非零,則最高位不能是0 用火柴棒拼數字0 9的拼法如圖所示 注意加號與等號各自需要2根火柴棒 如果a b,則a b c與b a c視為不同的等式 a b c 0 n根火柴棒必須全部用上 inclu...

火柴棍等式

注意 1.加號與等號各自需要兩根火柴棍 2.如果a b,則a b c與b a c視為不同的等式 a b c 0 3.n根火柴棍必須全部用上 超超分分鐘就解出來了。親愛的小夥伴們,你們是不是也可以分分鐘搞定這道難題呢?乙個整數n n 24 表示n根火柴棍 可以拼出形如 a b c 的等式的個數。如果a...

火柴棍等式

給你n根火柴棍,你可以拼出多少個形如 a b ca b c 的等式?等式中的aa bb cc是用火柴棍拼出的整數 若該數非零,則最高位不能是00 用火柴棍拼數字0 90 9的拼法如圖所示 注意 加號與等號各自需要兩根火柴棍 如果a b,則a b ca b c與b a cb a c視為不同的等式 a,...