- 图的存储和遍历
- 2023-08-30 20:30:05 @
//代码自主研发
//无污染,无添加剂,纯天然绿色代码
//查重率为0%
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005],vis[1005],n,t=0;
int q[1000005][1];
void dfs(int x)
{
cout<<x<<' ';
for(int i=1;i<=n;i++)
{
if(a[x][i]==1&&!vis[i])
{
vis[i]=1;
dfs(i);
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
vis[1]=1;
dfs(1);
cout<<endl<<1<<' ';
memset(vis,false,sizeof vis);
int front=1,rear=1;
q[1][0]=1;
vis[1]=true;
while(front<=rear)
{
int x=q[front][0];
for(int i=1;i<=n;i++)
{
if(vis[i]||a[x][i]==0)
continue;
cout<<i<<' ';
vis[i]=true;
rear++;
q[rear][0]=i;
t++;
if(t==n)exit(0);
}
front++;
}
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 2205
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 7
- 已通过
- 4
- 通过率
- 57%
- 被复制
- 2
- 上传者