hiho 1290 2016微軟4月筆試 dp

2021-07-11 01:24:19 字數 1809 閱讀 4617

題目大意:給你乙個機械人,從左上角走到右下角需要的最少改變格仔的次數。格仔有.代表空和b代表障礙物組成,可以b變.,也可以.邊b。

思路:dp[i][j][0]表示當前節點向下走到終點需要的最少改變次數,dp[i][j][1]表示當前節點向右走走到終點的最少改變次數。

那麼如果當前點需要向右走,就需要判斷右面點的dp值哪乙個更小,1、如果需要轉彎則需要再往右判斷一位,如果是b或邊界則 dp[i][j][1] = dp[i][j+1][0];否則dp[i][j][1] = dp[i][j+1][0] + 1;2、不需要轉彎dp[i][j][1] = dp[i][j+1][1];

向下走同理!

ps:當晚筆試忽略了 vice versa (反之亦然) , 第二天被起始格仔的值坑了,如果他有b也當『.』算,所以最後遞推輸出時需要判斷一下a[1][2];

對於英語,也是醉了。

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#pragma comment(linker, "/stack:102400000,102400000")

#define maxn 205

#define mod 1000000007

#define mem(a , b) memset(a , b , sizeof(a))

#define ll long long

const long long inf=0x3fffffff;

int dp[110][110][2];

char a[110][110];

int main()

a[1][1] = '.';

//cout << a[n][m] << endl;

if(a[n][m] == 'b')

dp[n][m][0] = dp[n][m][1] = 1;

else

dp[n][m][0] = dp[n][m][1] = 0;

int cnt = 0;

if(a[n][m] == 'b') cnt ++;

for(int i = n-1 ; i >= 1 ; i --)

cnt = 0;

if(a[n][m] == 'b') cnt ++;

for(int i = m-1 ; i >= 1 ; i --)

for(int i = n-1 ; i >= 1 ; i --)

else dp[i][j][1] = dp[i][j+1][1];

if(dp[i+1][j][0] > dp[i+1][j][1]) //下邊走下乙個要轉彎

else dp[i][j][0] = dp[i+1][j][0];

if(a[i][j] == 'b') dp[i][j][0]++ , dp[i][j][1] ++;}}

// int ans = min(dp[1][1][0] , dp[1][1][1]);

int ans ;

if(dp[1][1][0] < dp[1][1][1] && m > 1 && a[1][2] == 'b') ans = dp[1][1][0];

else ans = dp[1][1][1];

// if(a[1][1] == 'b') ans --;

// if(a[n][m] == 'b') ans ++;

printf("%d\n" , ans);

}return 0;

}

微軟公司面試全程解析 4

官的好感。5 誠實地回答問題許多大學生往往僅注重技術的提高,而忽略人品的培養。如撰寫 時,一稿多投 引用別人學說不加註明 不給專案協作者署名等 小事 常使大學生的人品遭受考驗,但很多學生對此並未意識到。面試中,誠信是最好的對策,不誇大已經取得的成績,當被問到乙個不懂的難題時學會說 不 這是面試者最明...

Hiho 123 字尾陣列四 重複旋律4

首先列舉 k,l 中的這個l,再列舉起始位置i,計算suffix i 和suffix i l 的lcp,記作lcp l,i 那麼k l,i 就等於lcp l,i l 1。對於所有的迴圈節長度l和起始位置i,最大的k l,i 就是答案。using system namespace hiho stati...

20160413,微軟4月12日發布13個安全補丁

補丁列表如下 公告id 公告標題和執行摘要 最高嚴重等級 和漏洞影響 重新啟動要求 受影響的軟體 ms16 037 internet explorer累積安全更新 3148531 此安全更新修復了 internet explorer 中的多個漏洞。如果使用者使用 internet explorer ...