藍橋杯 PREV 3 帶分數(dfs)

2022-08-22 04:18:08 字數 805 閱讀 7570

prev-3 帶分數

思路:根據題意我們需要找到滿足(n−

x)=z

/y(n

−x)=

z/y的(

x,y,

z)(x

,y,z

)三元組解的個數,且x,y

,zx,

y,z中所有數字不相同且剛好是11到9

9的乙個排列;

1.我們需要知道x

x的位數不能超過n

n(乙個數x

x的位數可以用lg(

x)+1

lg(x

)+1計算得出)

2.zz

的位數大於等於y

y的位數;

然後我們依次搜尋11到9

9的全部排列,對於每一種排列,我們依次取x,y

,zx,

y,z的可能位數、從而得到相應數值,帶進等式進行計算,如果相等答案加一即可;

**:

#include

using

namespace std;

int n, cnt, a[15]

;bool vst[15]

;inline

intf

(int p,

int len)

inline

void

check()

}}void

dfs(

int p)

for(

int i =

1; i <

10; i++)}

intmain()

藍橋杯 PREV 3 帶分數

歷屆試題 帶分數 時間限制 1.0s 記憶體限制 256.0mb 問題描述 100 可以表示為帶分數的形式 100 3 69258 714。還可以表示為 100 82 3546 197。注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。輸入格...

藍橋杯 PREV 3 帶分數

資源限制 時間限制 1.0s 記憶體限制 256.0mb 100 可以表示為帶分數的形式 100 3 69258 714。還可以表示為 100 82 3546 197。注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。從標準輸入讀入乙個正整數...

藍橋杯 PREV 3 歷屆試題 帶分數

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 100 可以表示為帶分數的形式 100 3 69258 714。還可以表示為 100 82 3546 197。注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。輸入格式 從標...