20121014搜狗筆試題方格取數

2021-06-10 04:57:56 字數 843 閱讀 6670

#include

using namespace std;

/*有n*n方格,裡面有正數和0,從左上走到左下,走過的路徑值變成0,一共走兩次,求路徑最大和和(兩次路徑)。

用dp來做,f[i][j][k][l]為最大和,i,j為a走的,k,l為b走的,用m,n兩個二維陣列記錄走的路線就可以了

*/#define n 50

int f[n][n][n][n]=;

int m[n][n];

int n[n][n];

int maxvalueoffour(int i,int j,int k,int l)

void printpathm(int i,int j)//遞迴找路徑

else

}void printpathn(int i,int j)

else}/*

int main()

,,,};

for(int i=1;i<=len;i++)//dp

for(int j=1;j<=len;j++)

for(int k=1;k<=len;k++)

for(int l=1;l<=len;l++)

else if(h==f[i][j-1][k-1][l])

else if(h==f[i-1][j][k][l-1])

else

if(i==k&&j==l)

f[i][j][k][l]-=a[i-1][j-1];

}cout

cout

system("pause");

return 0;

}*/

搜狗筆試題

乙個長度為n的陣列a 0 a 1 a n 1 現在更新陣列的名個元素,即a 0 變為a 1 到a n 1 的積 a 1 變為a 0 和a 2 到a n 1 的積,a n 1 為a 0 到a n 2 的積。程式要求 要求具有線性複雜度。不能使用除法運算子。演算法思想 設共有n個數 n 7 建立乙個陣列...

搜狗筆試題

1 下面 中for迴圈共執行了多少次?unsigned short i,j for i 0,j 2 i j i 5,j 7 unsigned short占用2個位元組,當資料範圍到頭了 2 16 1 就又從0開始計數了,這個其實就是兩輛汽車行駛在乙個圓圈裡的汽車追及問題。乙個速度為5,乙個速度為7,...

搜狗筆試題

搜狗 1,有n n個正方形格仔,每個格仔裡有正數或者0,從最左上角往最右下角走,只能向下和向右走。一共走兩次,把所有經過的格仔的數加起來,求最大值。且兩次如果經過同乙個格仔,則該格仔的數隻加一次。思路 搜尋 一共搜 2n 2 步,每一步有四種走法。考慮不相交等條件可以剪去很多枝。複雜度為o 4 n ...