有乙隻烏龜,初始在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
ft1
2示例2
ffftfff2
6分析:dp[i][j][k][dir]表示到第i個字元,用來j次操作,
能否到達k並朝向dir方向,用0和1表示兩個方向。
#include#includeview code#include
#include
using
namespace
std;
char s[111
];//
dp[i][j][k][op]表示到第i個字元,用來j次操作,
//能否到達k並朝向op方向
//0和1分別表示兩個方向
int dp[102][52][210][2
];int
main()
else
}int ans=0
;
for(int k=0;k<=200;k++)
if(dp[len][m][k][0]||dp[len][m][k][1]) ans=max(ans,abs(k-100
)); printf(
"%d\n
",ans);
return0;
}
牛客 烏龜跑步
有乙隻烏龜,初始在0的位置向右跑。這只烏龜會依次接到一串指令,指令t表示向後轉,指令f表示向前移動乙個單位。烏龜不能忽視任何指令。現在我們要修改其中正好n個指令 乙個指令可以被改多次,一次修改定義為把某乙個t變成f或把某乙個f變成t 求這只烏龜在結束的時候離起點的最遠距離。假設烏龜最後的位置為x,我...
牛客練習賽13 幸運數字
定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。比如說,47 744 4都是幸運數字而5 17 467都不是。假設現在有乙個數字d,現在想在d上重複k次操作。假設d有n位,用d1,d2,dn表示。對於每次操作,我們想要找到最小的x x n 使得dx 4並且dx 1 7。如果x為奇數,那麼我們...
牛客練習賽13 幸運數字
定義乙個數字為幸運數字當且僅當它的所有數字都是4或者7。比如說,47 744 4都是幸運數字而5 17 467都不是。定義next x 為大於等於x的第乙個幸運數字。給定l,r,請求出next l next l 1 next r 1 next r 兩個整數l和r 1 l r 1000,000,000...