歷屆試題 青蛙跳杯子

2021-10-24 16:21:50 字數 1501 閱讀 4314

*wwwbbb

其中,w字母表示白色青蛙,b表示黑色青蛙,*表示空杯子。

x星的青蛙很有些癖好,它們只做3個動作之一:

1. 跳到相鄰的空杯子裡。

2. 隔著1只其它的青蛙(隨便什麼顏色)跳到空杯子裡。

3. 隔著2只其它的青蛙(隨便什麼顏色)跳到空杯子裡。

對於上圖的局面,只要1步,就可跳成下圖局面:

www*bbb

本題的任務就是已知初始局面,詢問至少需要幾步,才能跳成另乙個目標局面。

輸入為2行,2個串,表示初始局面和目標局面。

輸出要求為乙個整數,表示至少需要多少步的青蛙跳。

樣例輸入

wwbb

wwbb

樣例輸出

2樣例輸入

wwwbbb

bbbwww

樣例輸出

10網上ac**:

#include

#include

#include

#include

#include

using

namespace std;

struct state//當前局面 };

//輸入

string begin,end;

//初始局面和目標局面

int dir=

;//可能移動的六個方向

intbfs()

for(

int i=

0,len=str.

length()

; i)for

(int j=

0; j<

6; j++

)//六個方向

swap

(str[i]

,str[cur]);

//回溯 }}

}}}void

solve()

intmain()

自己的超時**:

#include

#include

#include

#include

#include

using

namespace std;

struct state//當前局面 };

//輸入

string begin,end;

//初始局面和目標局面

int dir=

;//可能移動的六個方向

intbfs()

for(

int i=

0,len=str.

length()

; i)for

(int j=

0; j<

6; j++

)//六個方向

swap

(str[i]

,str[cur]);

//回溯 }}

}}}void

solve()

intmain()

歷屆試題 青蛙跳杯子

問題描述 x星球的流行寵物是青蛙,一般有兩種顏色 白色和黑色。如下圖,有一排杯子,左邊的乙個是空著的,右邊的杯子,每個裡邊有乙隻青蛙。wwwbbb 其中,w字母表示白色青蛙,b表示黑色青蛙,表示空杯子。x星的青蛙很有些癖好,它們只做3個動作之一 1.跳到相鄰的空杯子裡。2.隔著1只其它的青蛙 隨便什...

試題 歷屆試題 青蛙跳杯子

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 wwwbbb 其中,w字母表示白色青蛙,b表示黑色青蛙,表示空杯子。x星的青蛙很有些癖好,它們只做3個動作之一 1.跳到相鄰的空杯子裡。2.隔著1只其它的青蛙 隨便什麼顏色 跳到空杯子裡。3.隔著2只其它的青蛙 隨便什麼顏色 跳到空...

藍橋杯歷屆試題 青蛙跳杯子

歷屆試題 青蛙跳杯子 時間限制 1.0s 記憶體限制 256.0mb 問題描述 x星球的流行寵物是青蛙,一般有兩種顏色 白色和黑色。如下圖,有一排杯子,左邊的乙個是空著的,右邊的杯子,每個裡邊有乙隻青蛙。wwwbbb 其中,w字母表示白色青蛙,b表示黑色青蛙,表示空杯子。x星的青蛙很有些癖好,它們只...