图论习题及答案
A - Graph
例题链接:
https://vjudge.net/contest/490112#problem/A
题目来源:
https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_11_A
题目思路:
给你一个无向图的很多串邻接链表,你需要将这些邻接链表转换成邻接矩阵的形式
容易格式错误的地方:
这个题需要注意每一行输出的最后不能有空格
所以需要判一下
题目代码:
点击查看代码
#include<bits/stdc++.h> using namespace std; int u[105]; int k[105]; int v[105]; int a[105][105]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>u[i]; cin>>k[i]; for(int j=1;j<=k[i];j++){ cin>>v[j]; a[u[i]][v[j]]=1; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(j==n){ if(a[i][j]){ cout<<"1"; continue; } else{ cout<<"0"; continue; } } if(a[i][j]==1){ cout<<"1"<<" "; } else{ cout<<"0"<<" "; } } cout<<endl; } return 0; }
B - Depth First Search
题目链接:
https://vjudge.net/contest/490112#problem/B
题目来源:
https://judge.u-aizu.ac.jp/onlinejudge/solution.jsp?pid=ALDS1_11_B
代码:
点击查看代码
#include<bits/stdc++.h> #define N 100 #define WHITE 0 #define GRAY 1 #define BLACK 2 using namespace std; int n,M[N][N]; int color[N],d[N],f[N],tt; void dfs_visit(int u){ int v; color[u]=GRAY; d[u]=++tt; for(v=0;v<n;v++){ if(M[u][v]==0){ continue; } if(color[v]==WHITE){ dfs_visit(v); } } color[u]=BLACK; f[u]=++tt; } void dfs(){ int u; for(int u=0;u<n;u++){ color[u]=WHITE; } tt=0; for(u=0;u<n;u++){ if(color[u]==WHITE){ dfs_visit(u); } } for(u=0;u<n;u++){ printf("%d %d %d\n",u+1,d[u],f[u]); } } int main(){ int u; int v; int k; int i; int j; cin>>n; for(i=0;i<n;i++){ for(j=0;j<n;j++){ M[i][j]=0; } } for(i=0;i<n;i++){ cin>>u>>k; u--; for(j=0;j<k;j++){ cin>>v; v--; M[u][v]=1; } } dfs(); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异