藍橋杯 帶分數

2022-03-30 05:00:48 字數 977 閱讀 8189

怎麼說呢,今天無聊就刷了一下藍橋杯的題目,畢竟也參加了兩屆,雖然每次運氣都很差。。。坑的一比,

廢話不多說,今天剛好看了一下往屆的比賽題目,偶然發現一題感覺思路一看就有,但是無從下手的題目,

沒錯,就像你搜的這樣子,這道題目的名字就是「帶分數」。

剛剛開始做的時候,直接就是一股勁的爆搜,看了看時間複雜度,估計超時不超時是五五開,就是將1-9這

9個數字進行全排列, 這個時間的複雜度是10!,用到了stl的乙個全排列函式,叫做next_permutation,

是要針對這題題目來寫的。

雖然這個想法很危險,很容易超時。。。。但是好歹寫出來再說,經過半小時的程式設計,我就蛋疼了,連

樣例都是過不了的,於是ctrl + a,然後刪除,直接推倒重寫,這次估計了一下複雜的有美酒先

將這個數字表示為v = a + b / c;所以a肯定比v小,那麼最外層就可以確定了,然後將

a進行拆分,進行判斷,之後就是將沒用到的數字存放在乙個陣列裡面,利用stl的全排列,然後將之

後的數字進行組合,由於b/c這個形式,感覺就是b要比c大,同時整除,這時候又是一重剪枝,大概

的時間複雜度沒去算過,反正提交一發,1a之後表示就沒有去算過

下面是具體的事實表明可以,以及附上ac**:

#include #include 

#include

using

namespace

std;

intmain()

else

}if(f == 0

) }}}

}printf(

"%d\n

", ans);

return0;

}

藍橋杯 帶分數

問題描述 100 可以表示為帶分數的形式 100 3 69258 714。還可以表示為 100 82 3546 197。注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。輸入格式 從標準輸入讀入乙個正整數n n 1000 1000 輸出格式 ...

藍橋杯 帶分數

問題描述 100 可以表示為帶分數的形式 100 3 69258 714。還可以表示為 100 82 3546 197。注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。輸入格式 從標準輸入讀入乙個正整數n n 1000 1000 輸出格式 ...

藍橋杯 帶分數

100 可以表示為帶分數的形式 100 3 69258 714 還可以表示為 100 82 3546 197 注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。題目要求 從標準輸入讀入乙個正整數n n 1000 1000 程式輸出該數字用數碼...