8648 图的深度遍历
#include
#include
#include
using namespace std;
vector e[100000]; //模拟邻接表
int book[100000];
void dfs(int cur)
{
cout<<(char)(cur+'a')<<' ';
int len=e[cur].size();
for(int i=0 ; i>t>>n>>m;
for(int i=0 ; i>x;
}
int st=0;
for(int i=0 ; i>x>>y;
int a=x-'a';
int b=y-'a';
if(i==0)
st=a;
if(t<=1) //有向图
e[a].insert(e[a].begin(),b);
else //无向图
{
e[a].insert(e[a].begin(),b);
e[b].insert(e[b].begin(),a);
}
}
book[st]=1;
dfs(st);
return 1;
}
8649 图的广度遍历
#include
#include
#include
#include
using namespace std;
vector e[10000];
int book[10000];
queue q;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int t,n,m;
cin>>t>>n>>m;
int st;
for(int i=0 ; i>x; //cjb
}
//建表
for(int i=0 ; i>x>>y;
int a=x-'a';
int b=y-'a';
if(i==0)
st=a;
if(t<=1)
e[a].insert(e[a].begin(),b);
else
{
e[a].insert(e[a].begin(),b);
e[b].insert(e[b].begin(),a);
}
}
//建表完成
q.push(st);
book[st]=1;
while(!q.empty())
{
int t=q.front();
int len=e[t].size();
for(int i=0 ; i