`//图的定义
//邻接表
vector[HTML_REMOVED] Adj[N];//不需要边权时
vector[HTML_REMOVED]Adj[N];//需要边权时
strcut node
{
int v;//终点编号
int w;//边权
node(int _v,int_w):v(_v),w(_w){}//构造函数
};
Adj[1].push_back(node(3,4));//就能跳过临时变量实现加边操作
//邻接矩阵
int G[N][N];
//图的DFS遍历(邻接表)
int inq[N]={false};
int n;
void DFS(int u,int depth)
{
inq[u]=true;//竟然漏了!!
for(int i=0;i[HTML_REMOVED] q;
q.push(u);
while(!q.empty())
{
int top=q.front();
printf(“%d “,top);
q.pop();
for(int i=0;i[HTML_REMOVED] q;
q.push(u);
while(!q.empty())
{
int top=q.front();
printf(“%d “,top);
q.pop();
inq[u]=true;//竟然漏了!!
for(int v=0;v<n;v++)
{
if(inq[v]==0&&G[u][v]!=inq)
{
q.push(v);
inq[v]=true;//竟然漏了!!
}
}
}
}`