1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int a[105][105]; int du[105]; int n,e,start,df; void init(); void dfs(int); int main() { init(); dfs(start); return 0; } void dfs(int x) { for(int i=1;i<=n;i++) { if(a[x][i]==1) { a[x][i]=a[i][x]=0; dfs(i); } } printf("%d ",x); } void init() { memset(a,0,sizeof(a)); memset(du,0,sizeof(du)); scanf("%d%d",&n,&e); int x,y; for(int i=1;i<=e;i++) { scanf("%d%d",&x,&y); a[x][y]=a[y][x]=1; du[x]++; du[y]++; } start=1; for(int i=1;i<=n;i++) if(du[i]%2==1) start=i; }
C++ :
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int a[100][100];//邻接矩阵存储节点关系 int du[100];//记录每个节点的度数 int n,e,start; void init(); void dfs(int); int main() { //freopen("euler1.in","r",stdin); //freopen("euler1.out","w",stdout); init(); //cout<<"start="<<start<<endl; dfs(start); return 0; } void init() { memset(a,0,sizeof(a)); memset(du,0,sizeof(du)); cin>>n>>e; int x,y; for(int i=1;i<=e;i++) { cin>>x>>y; a[x][y]=a[y][x]=1;//无向图 du[x]++;//x节点度数++ du[y]++;//y节点度数++ } start=1;//遍历所有节点找到第一个奇点,没奇点则为1 for(int i=1;i<=n;i++) if(du[i]%2==1) { start=i; //break; } } void dfs(int x) { for(int i=1;i<=n;i++) { if(a[x][i]==1)//找到下一个邻接点 { a[x][i]=a[i][x]=0;//两条边均设为0,不会重复访问 dfs(i);//以邻接点开始遍历 } } cout<<x<<' ';//输出当前节点 }
Pascal :
program acm21184; const maxn=100; type node=record u,v,next:longint; end; var d:array[1..maxn] of longint; num,i,j,k,n,e,u,v,t:longint; graph:array[1..maxn,1..maxn] of longint; head:array[1..maxn] of longint; vis:array[1..maxn] of boolean; procedure dfs(x:longint); var i:longint; begin for i:=1 to n do if (graph[x,i]>0) then begin graph[x,i]:=0; graph[i,x]:=0; dfs(i); end; if k=0 then begin write(x); k:=k+1; end else write(' ',x); end; procedure init; var i:longint; begin fillchar(d,sizeof(d),0); fillchar(graph,sizeof(graph),0); readln(n,e); for i:=1 to e do begin readln(u,v); graph[u,v]:=1; graph[v,u]:=1; inc(d[u]); inc(d[v]); end; num:=1; for i:=1 to n do if d[i] mod 2<>0 then num:=i; end; begin fillchar(head,sizeof(head),0); t:=0; init; k:=0; dfs(num); end.
- 1
信息
- ID
- 935
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者