給你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)。
14
18
輸出檔案matches.out共一行,表示能拼成的不同等式的數目。
2
9
2個等式為0+1=1和1+0=1。
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
你先求出每乙個數字(1~1001)所要用的火柴棒數,再把每一種可能性列舉出來,只要成立sum就加一。最後只要輸出sum就ok了。
#include
#include
using
namespace std;
intmain()
;//初始化
scanf
("%d"
,&n)
;//讀入
n-=4;
//把加號和等號所要用的火材棒數減去
for(
int i=
10;i<=
1001
;i++
) a[i]
=a[i%10]
+a[i/10]
;//求出每個數字所要用的火材棒數
for(
int i=
0;i<=
1001
;i++
)for
(int j=
0;j<=
1001
;j++
)printf
("%d"
,sum)
;//輸出
return0;
}
2023年普級組模擬試題 序列
給乙個a序列。當後面乙個是前面乙個的倍數的時候,就成為乙個好序列,求出所有的好序列有多少答案mod 1000000007 很簡單的dp f i,j k f i,j k f i 1,j 表示前i個,當那一位數字為j k的時候的最大好序列數 const maxn 2000 p 1000000007 va...
NOIP 2015 提高組初賽試題胡扯
5 常識 7 顯然b肯定一樣 9 最小生成樹也是樹 10 顯然 11 顯然每條邊和每個點只會被遍歷一次 12 a 21 容斥原理 能被4整除的有503個,被5整除的有403個,被6整除的335個,然後去掉算了兩遍的20,12,30分別100,167,67,120呢則在一開始被加了三遍,後面又被見了三...
Noip2015提高組總結
總體而言noip還行吧,每天前兩題都穩穩地,但是最後一題做得不好。day1,看完題目後,第一題簽到,第二題很直觀想出來了,又畫了個圖驗證了一下,tarjan雖然可能爆棧,但人工棧就沒問題了。第三題認為是dp一類的東西。畢竟是第一次提高組,還是挺緊張的,一二題打得特別仔細特別慢,對拍,肉眼查錯,搞了接...