首页 > 代码库 > 一笔画
一笔画
一笔画 模板dfs
1 #include<iostream> 2 #include<queue> 3 using namespace std; 4 int map[110][110],du[500][500],m,n,ans[110],sum,start; 5 void dfs(int k) 6 { 7 8 for(int i=1;i<=du[k][0];i++) 9 {10 if(map[k][du[k][i]]==1)11 {12 map[k][du[k][i]]=map[du[k][i]][k]=0;13 dfs(du[k][i]);14 }15 }ans[++sum]=k;16 cout<<k<<‘ ‘;17 }18 int main()19 {20 cin>>n>>m;21 int x,y;22 for(int i=1;i<=m;i++)23 {24 cin>>x>>y;25 map[x][y]=map[y][x]=1;26 du[x][++du[x][0]]=y;27 du[y][++du[y][0]]=x;28 }29 int cnt=0;30 start=1;31 for(int i=1;i<=n;i++)32 {33 if(du[i][0]%2==1)cnt++,start=i;34 if(du[i][0]==0){cout<<"no";return 0;}35 }36 if(cnt==0||cnt==2)dfs(start);37 else 38 {39 cout<<"no";40 return 0;41 }42 }
一笔画
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。