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 號根都可以由和它直接相連的孩子得到,這個...