洛谷 P1149 火柴棒等式 遞迴

2021-09-29 20:52:34 字數 682 閱讀 7496

題目大意:給出乙個整數n表示有n根火柴,現在要用火柴拼湊加法等式,問有多少種方案

題目分析:這個題目給的n最大只有24,若我們都用來拼1,拼四位數的話也得拼出1111+x=1111,這樣就已經用去20根了,x必須是0才能讓等式成立,但若x為0,則就不符合題意了,所以每一位的數字最多只有三位數,也就是0~999,這樣我們可以暴力列舉,但我更傾向於用遞迴來設計這個題目,因為這是乙個很典型的搜尋回溯的題目,因為只有三位數,我們直接搜尋就好了,具體的看**應該就沒問題了

**:

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int inf=0x3f3f3f3f;

const int n=1e3+100;

int n;

int dp[n]=;

int ans=0;

int a[5];

void dfs(int step)

for(int i=0;i=dp[i])//若滿足條件,繼續深搜

}}int main()

洛谷 P1149 火柴棒等式

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

洛谷P1149 火柴棒等式

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

洛谷P1149 火柴棒等式

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