Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
41343 | 桑迪 | 一笔画问题 | C++ | 解答错误 | 0 | 0 MS | 248 KB | 549 | 2022-06-11 17:10:50 |
#include<bits/stdc++.h> using namespace std; int st[200],r[200],n,t,m,bg=1,h[200],e[200],a,b,ne[200],idx,num[200]; void add(int a,int b){e[idx]=b,ne[idx]=h[a],num[a]++,h[a]=idx++;} void p(){ for(int i=1;i<=m;i++)cout<<r[i]<<" "; } void dfs(int d){ st[d]=1; for(int i=h[d];i+1;i=ne[i]){ int j=e[i]; if(!st[j])r[++t]=j,dfs(j); if(t==m)p(); r[t--]=0; } } int main(){ memset(h,-1,sizeof(h)); cin>>n>>m; for(int i=1;i<=m;i++)cin>>a>>b,add(a,b),add(b,a); for(int i=1;i<=n;i++)if(num[i]%2)bg=i; dfs(bg); return 0; }