牛客網 烏龜跑步 (dfs)

2022-01-12 19:58:58 字數 1045 閱讀 6965

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

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

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

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

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

第二行乙個整數n。

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

乙個數字表示答案。
示例1

ft

1

2

示例2

ffftfff

2

6
1 #include2 #include3 #include4 #include5 #include6 #include

7#define ll long long

8#define inf 0x3f3f3f3f

9using

namespace

std;

1011

string

str;

12int

n,ans,m,len;

13bool mp[105][55][205][2];///

操作次數 剩餘修改次數 位置 方向

14///

二維中0表示往回走,1表示往前走

1516

17void dfs(int step,int s,int x,int d)///

操作到哪個指令 剩餘修改指令次數 當前位置 方向

1833

if( str[step]=='

t' )///

常規操作是轉身

3438

else

3943}44

45int

main()

4656

return0;

57 }

牛客 烏龜跑步

有乙隻烏龜,初始在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,我...