原题链接PTA | 程序设计类实验辅助教学平台 (pintia.cn)
ACwing链接 1615. 哈密顿回路 - AcWing题库
题意
从起点出发,把所有的点走一遍,再回到起点,这样的图叫哈密顿回路
此题是为了判断是否为哈密顿回路,题目不在叙述,可以看原题描述
思路
1. 用邻接矩阵来存储每个结点之间是否存在一条边,如果存在则置为 true 。
2. 判断给定的路径是否为哈密顿回路。
1)先判断首尾结点是否相同,并且给定路径结点数是否为 n+1 个点,因为首尾结点相同,所以会多出一个点。
2)然后判断该路径中每条边是否存在,并用 st 来存储出现过的结点。
3)最后再判断所有结点是否都出现过。
#include <iostream>
#include <cstring>
using namespace std;
const int N = 300;
bool g[N][N], st[N];
int nodes[N * 2];
int n, m;
bool chec