1 条题解

  • 0
    @ 2024-4-30 20:44:46
    #include <bits/stdc++.h>
    using namespace std;
    int a[30][30],n,e;
    int d[30];
    int r[50],k;
    void dfs(int x){
    	for (int i=1;i<=n;i++){
    		if (a[x][i]){
    			a[x][i]=0;
    			a[i][x]=0;
    			dfs(i);
    		}
    	}
    	r[++k]=x;
    }
    int main(){
    	cin>>n>>e;
    	int x,y;
    	for (int i=1;i<=e;i++){
    		cin>>x>>y;
    		a[x][y]=1;
    		a[y][x]=1;
    		d[x]++;
    		d[y]++;
    	}
    	int s=1;
    	for (int i=n;i>=1;i--){
    		if (d[i]%2==1){s=i;break;}
    	}
    	dfs(s);
    	for (int i=k;i>=1;i--)cout<<r[i]<<" ";
    	return 0;
    }
    
    • 1

    信息

    ID
    1051
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    33
    已通过
    9
    上传者