題目描述
有一塊n*m的地,每塊地要麼長滿雜草(用'w'表示),要麼是空地(用'g'表示),現在有乙個人站在(1,1),面向(1,m),他可以按如下兩種方式移動:
1、向面朝的方向移動一格,耗費1單位時間
2、向下移動一格,並反轉面朝的方向(右變左,左變右),耗費1單位時間
現在他想知道清除所有的雜草最少需要多少單位時間(清除完雜草之後不用返回(1,1))
輸入描述:
第一行n,m
接下來n行每行乙個字串表示矩陣。
n,m<=150
輸出描述:
一行乙個整數表示答案。
示例1輸入
4 5gwggw
ggwgg
gwggg
wgggg
輸出11
示例2輸入
3 3gww
wwwwwg
輸出有幾種情況需要考慮。中間都是空行的時候, 當後面都是空行就不需要移動了。
#include#include#includeusing namespace std;
int n,m;
char maze[200][200];
const int inf=0x3f3f3f3f;
int lft[200];
int rht[200];
int main()}}
int ans=0;
int cur=1;//起始位置
for(int i=1;i<=last;i++)
else
}cout<}
return 0;
}
Wannafly挑戰賽4 A 解方程
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 給出n個整數和x,請問這n個整數中是否存在三個數a,b,c使得ax 2 bx c 0,數字可以重複使用。第一行兩個整數n,x 第二行n個整數a i 表示可以用的數 1 ...
Wannafly挑戰賽A 概率DP
給你乙個長 n 的序列,m 次查詢 每次查詢給乙個 x,然後 從序列的最左端 1 開始,每次隨機的選擇乙個右端點 r,如果兩個端點間的區間和不超過 x 就進行一次分割,然後把左端點變成 r 1,否則一直隨機下去。問這樣分割出來的期望段數 第一行兩個數 n,m 之後一行 n 個數表示這個序列 之後m行...
Wannafly挑戰賽5 補題
a 珂朵莉與宇宙 思路 科學暴力 列舉字首和,同時計算字首和裡面可能出現的完全平方數,匹配字首和 與完全平方數的差值是否在之前的字首和出現,出現了幾次就是存在多少個區間,利用的是連續的性質。include using namespace std typedef long long ll const ...