HDU 1361 Leyni的機械人

2022-05-28 13:18:12 字數 1613 閱讀 9926

description

leyni喜歡機械人,這次,他得到了乙個機械人,這個機械人能接受兩種命令,"t"(向後轉),"f"(前進一步)。

他還得到了乙個用於控制這個機械人的指令序列,他計畫恰好修改

k次這個指令序列(一次只能修改其中乙個指令,同乙個指令也可以被反覆修改)後讓機械人去執行,並使這個機械人最終停下的位置離起點盡量遠。

他想知道這個機械人最終停下的位置離起點的最遠距離,請你幫助他!

input

本題有多組測試資料,輸入的第一行是乙個整數

t代表著測試資料的數量,接下來是

t組測試資料。

對於每組測試資料:

第1行包含乙個長度不超過100的僅由"t","f"組成的非空字串

s代表著原始指令序列。

第2行包含乙個整數

k (1 ≤ k ≤ 50)代表著leyni計畫恰好修好這個指令序列的次數。

output

對於每組測試資料:

第1行輸出這個機械人最終停下的位置離起點的最遠距離。

sample input1tf

1sample output

2code:

當前指令為前進時 :

a[i][j][k]=max(a[i][j][k],a[i-1][j-l][k]+(k?-1:1));

b[i][j][k]=min(b[i][j][k],b[i-1][j-l][k]+(k?-1:1));

當前指令為轉身時 :

a[i][j][k]=max(a[i][j][k],a[i-1][j-l][!k]);

b[i][j][k]=min(b[i][j][k],b[i-1][j-l][!k]);

view code

#include#include

#define max(a,b)(a)>(b)?(a):(b)

#define min(a,b)(a)

int abs(int

x)int a[103][55][2

];int b[103][55][2

];int

main()

}for(i=2;i<=len;i++)

else

}a[i][k][

0]=res1;

a[i][k][

1]=res2;

b[i][k][

0]=res3;

b[i][k][

1]=res4;}}

else

else

}a[i][k][

0]=res1;

a[i][k][

1]=res2;

b[i][k][

0]=res3;

b[i][k][

1]=res4;}}

}res=0

; res=max(a[len][k][0],a[len][k][1

]); res=max(res,abs(b[len][k][0

]));

res=max(res,abs(b[len][k][1

]));

printf(

"%d\n

",res);

}return0;

}

題解 Leyni的汽車比賽

hrbust 1404 思維題?居然被我湊出來了 這種圖論題先設這樣乙個狀態 ans i,j,f 表示從i到j,最多使用f個交通工具的最短路 轉移的話,每輛車先自己跑乙個floyd,然後進去就好了,轉移列舉中間點。但是你說 f 很大,感覺這樣做不行了,但是仔細思考一下,最多換 n 輛車就會到達終點,...

哈理工OJ 1326 Leyni的國家

leyni經過了若干年的征戰,終於建立了自己的國家,這個國家包含n個城市,編號為1到n。城市c是首都,每條城市中的路都是雙向的,而且從首都到每個城市都只存在一條路線。在leyni的國家,他使用一種奇怪的方式來描述地圖 對每乙個非首都城市記錄了乙個數字pi,代表著從首都到城市i的路線中在到達城市i之前...

HLG 1359 Leyni的國家II 樹形DP

題意 有 n 個國家,n 1 條道路,形成的樹形地圖,問圖中有多少對城市距離為 k 分析 可以用 f i j 表示以 i 為根的子樹中有多少定點距離 i 為 j 因為 f i j f son1 j 1 f son2 j 1 f son n j 1 即每個 i 號根都可以由和它直接相連的孩子得到,這個...