共42道题,当前是第2

初赛真题

欧拉回路问题由七桥问题⽽来,其基本问题是是否能⼀次性不重复地⾛遍这七座桥,转换为数学问题中的图论就是指的是从图中的⼀个顶点出发,是否能够⼀次性不回头地⾛遍所有的边,算法代码如下:

#include <iostream>
#include <ctime>
using namespace std;
int G[5][5];
int visited[5][5];
int n = 5;
void euler(int u) {
    for (int v = 0; v < n; v++) {
        if (G[u][v] && ___(1)___ ) {
            cout << u << "->" << v << endl;
            visited[u][v] = visited[v][u] = ___(2)___ ;
            ___(3)___
        }
    }
}

int main() {
    G[1][2] = G[2][1] = G[1][3] = ___(4)___ = 1;
    G[2][4] = G[4][2] = G[3][4] = ___(5)___ = 1;
    euler(1);
    return 0;
}


1. A

2. B

3. B

4. D

5. D

这段代码是在给定图 $G$ 中通过深度优先搜索输出从起点 $1$ 开始走并且每条双向路只走一次的路径

Question

1. (1) 处应填( )

2. (2) 处应填( )

3. (3) 处应填( )

4. (4) 处应填( )

5. (5) 处应填( )

陈伦制作 版权所无 粤ICP备16127491号-1