百度最新面试题
1、8*8的棋盘上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物,一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角,有一个上限K,请设计一个算法使其能够获得最大价值和的礼物,但是最大价值为不超过上限K。
2、已知有m个顶点,相邻的两个顶点之间有一条边相连接,首位顶点也有一条边连接,这样就构成了一个圆环。
现在有一个二维数组M[][],M[i][j]=1时,表明第i和j个节点之间有条边存在,M[i][j]=0时,表明第i和j个节点之间没有边存在,其中 M[i][i]=0,M[i][j]=M[j][i],输入为一个二维数组M[][]和顶点的个数n,试着判断该图中是否存在两个圆环,且两个圆环彼此之间没有公共点。
bool IsTwoCircle(int **M,int n)
{
......
}