策略 廣搜問題

2021-10-08 11:28:06 字數 1667 閱讀 7014

題目描述

給出三個整數 a,b,na,b,n 你可以任意地執行以下操作 ::

▶ a=

a+

b\black********right a=a+b

▶a=a+b

▶ b=

b+

a\black********right b=b+a

▶b=b+a

求使得 n

x(a,

b)

n < max(a, b)

nx(a,

b)的最少的操作次數。

輸入格式

第一行乙個整數 tt,表示資料組數。

接下來 tt 行每行三個整數a,b

,n

a,b,n

a,b,

n,含義如上所述。

輸出格式

對於每組資料一行乙個數,表示最少操作次數。

輸入輸出樣例

輸入

212

354100

輸出

2

7

說明/提示

資料範圍 ::

1 ≤t

≤100

1 \leq t \leq 100

1≤t≤1001≤

a,b≤

n≤10

91 \leq a,\ b \leq n \leq 10^9

1≤a,b≤

n≤10

9這道簽到題使我成了全場唯二最靚的仔(就我和另乙個小夥伴的了8分,其餘人全100分…)

官方做法

#include

using

namespace std;

intmain()

cout

(int a,

int b)

廣搜做法

#include

using

namespace std;

typedef

struct nodenode;

long

long

int a,b,n;

node q[

10001];

int head,rear;

intbfs

(long

long

int a,

long

long

int b ,

long

long

int n)

;int

main()

}int

bfs(

long

long

int a,

long

long

int b ,

long

long

int n)

; q[0]

=nd;

head=0;

rear=1;

int i;

while

(head!=rear)

; q[rear++

]=td;}if

(i==1)

; q[rear++

]=td;}}

}}

騎士問題 廣搜

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述小hi 小ho你會下西洋棋麼?小ho 應該算會吧,我知道每個棋子的移動方式,馬走日象飛田什麼的 小hi 象飛田那是中國象棋啦!小ho 哦,對。西洋棋好像是走斜線來著。小hi 不過馬走日倒是對了。西洋棋中的馬一般叫做騎士,關...

迷宮問題 廣搜

定義乙個二維陣列 int maze 5 5 queue 26 int head 0,tail 0,a 5 5 book 5 5 void function int tail 引數是隊尾 else function queue tail f 如果隊尾的父節點不是0 就將該父節點作為新的隊尾繼續呼叫 這...

8數碼問題 深搜 廣搜

8數碼問題的廣搜在網上可以找到 廣搜一般可以找到最優解,但是深搜不一定能找到最優解。一般的深搜多是指定最大遞迴深度的深搜,一般情況下,問題解的深度很難確定。因此深蒐會出現三種情況,一是找到最優解,二是在迭代深度內找不到解,三是找到解但不是最優解。第一種情況自然是最好的,不過較經常出現的是第三種,在指...