NOIP2008 火柴棒等式

2021-07-10 20:51:03 字數 1165 閱讀 3767

1.      火柴棒等式

給你 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】

matches.in

matches.out14

2【輸入輸出樣例1解釋】

2 個等式為 0+1=1 和 1+0=1。

【輸入輸出樣例2】

matches.in

matches.out18

9【輸入輸出樣例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

【思路】

列舉+判斷。

題目資料範圍很小,可以知道等式中的乙個數最大不超過1111,列舉ij判斷k=i+j與ij是否滿足火柴棍數為n即可。

【**】

1 #include2

using

namespace

std;34

const

int maxn = 1111;5

const

int matches=;

6int ans=0

,n;7

int _sum[maxn+5];8

9 inline int get_sum(int

x) 16

return

sum;17}

1819

intmain () 28}

29 cout<30return0;

31 }

noip2008 火柴棒等式

題目提供者該使用者不存在 標籤搜尋 列舉模擬2008noip提高組 難度普及 提交該題 討論 題解記錄 給你n根火柴棍,你可以拼出多少個形如 a b c 的等式?等式中的a b c是用火柴棍拼出的整數 若該數非零,則最高位不能是0 用火柴棍拼數字0 9的拼法如圖所示 注意 加號與等號各自需要兩根火柴...

列舉 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根火柴棍必須全部用上 輸入格式...