牛客 烏龜跑步

2021-10-05 05:52:49 字數 1175 閱讀 2315

有乙隻烏龜,初始在0的位置向右跑。

這只烏龜會依次接到一串指令,指令t表示向後轉,指令f表示向前移動乙個單位。烏龜不能忽視任何指令。

現在我們要修改其中正好n個指令(乙個指令可以被改多次,一次修改定義為把某乙個t變成f或把某乙個f變成t)。

求這只烏龜在結束的時候離起點的最遠距離。(假設烏龜最後的位置為x,我們想要abs(x)最大,輸出最大的abs(x))

第一行乙個字串c表示指令串。c只由f和t構成。

第二行乙個整數n。

1 <= |c| <= 100, 1 <= n <= 50

乙個數字表示答案。

ft

1

2
ffftfff

2

6
這個題。。暴力吧,題目每種情況需要有到四個變數,1.遍歷到陣列的下標,2.剩餘的操作次數,3.位置,4.下一步的方向。用dfs列舉所有的情況,改變的和沒有改變的,但是題目要求的資料規模比較大,需要用到記憶搜尋。。

#include

#include

#include

#include

using

namespace std;

string str;

int ans =0;

int mem[

105][55

][205][2

];void

dfs(

int def,

int n,

int pos,

int dir)

if(n <

0|| mem[def]

[n][pos +

105]

[dir]

)return

; mem[def]

[n][pos +

105]

[dir]=1

;if(dir ==0)

else

if(str[def]

=='t')}

else

if(dir ==1)

else

if(str[def]

=='t')}

}int

main()

牛客網 烏龜跑步 (dfs)

有乙隻烏龜,初始在0的位置向右跑。這只烏龜會依次接到一串指令,指令t表示向後轉,指令f表示向前移動乙個單位。烏龜不能忽視任何指令。現在我們要修改其中正好n個指令 乙個指令可以被改多次,一次修改定義為把某乙個t變成f或把某乙個f變成t 求這只烏龜在結束的時候離起點的最遠距離。假設烏龜最後的位置為x,我...

牛客練習賽13 烏龜跑步 DP

有乙隻烏龜,初始在0的位置向右跑。這只烏龜會依次接到一串指令,指令t表示向後轉,指令f表示向前移動乙個單位。烏龜不能忽視任何指令。現在我們要修改其中正好n個指令 乙個指令可以被改多次,一次修改定義為把某乙個t變成f或把某乙個f變成t 求這只烏龜在結束的時候離起點的最遠距離。假設烏龜最後的位置為x,我...

牛客 70E 烏龜跑步 bitset優化dp

有乙隻烏龜,初始在0的位置向右跑。這只烏龜會依次接到一串指令,指令t表示向後轉,指令f表示向前移動乙個單位。烏龜不能忽視任何指令。現在我們要修改其中正好n個指令 乙個指令可以被改多次,一次修改定義為把某乙個t變成f或把某乙個f變成t 求這只烏龜在結束的時候離起點的最遠距離。假設烏龜最後的位置為x,我...