noip2008 火柴棒等式

2022-05-02 11:51:09 字數 1160 閱讀 2694

題目提供者該使用者不存在

標籤搜尋/列舉模擬2008noip提高組

難度普及-

提交該題 討論

題解記錄

給你n根火柴棍,你可以拼出多少個形如「a+b=c」的等式?等式中的a、b、c是用火柴棍拼出的整數(若該數非零,則最高位不能是0)。用火柴棍拼數字0-9的拼法如圖所示:

注意:加號與等號各自需要兩根火柴棍

如果a≠b,則a+b=c與b+a=c視為不同的等式(a、b、c>=0)

n根火柴棍必須全部用上

輸入格式:

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

輸出格式:

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

輸入樣例#1:

樣例輸入1:

14樣例輸入2:

18

輸出樣例#1:

樣例輸出1:

2樣例輸出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

分析:這道題不算很難,首先要用乙個陣列把0~9數字所需要的火柴棒個數表示出來,但是超過了9怎麼表示呢?乙個10進製自然數是由0~9這幾個數字組成的,那麼我們不斷的mod10就可以得到每個位置上的數,然後根據陣列裡的資料計算即可.不過要注意的是,運算符號也要算上火柴棒的個數.

#include #include 

#include

#include

using

namespace

std;

int n,ans = 0

;int s[10] = ;

int shuliang(int

x)

return

sum;

}int

main()

printf("%d

",ans);

return0;

}

NOIP2008 火柴棒等式

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

列舉 NOIP2008 火柴棒等式

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

NOIP2008提高組火柴棒等式(模擬) yhx

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