1 条题解
-
0
C :
#include<stdio.h> int main() { int n,m,a[1000]={0},i,temp,b,c,count; while(scanf("%d %d",&n,&m)!=EOF&&n!=0) { temp=m;count=0; while(m--) { scanf("%d %d",&b,&c); a[b]++;a[c]++; } for(i=1;i<=temp*2;i++) { if(a[i]%2!=0){count=1;break;} } if(count==0)printf("1\n"); else printf("0\n"); for(i=0;i<n;i++) a[i]=0; } return 0; }
C++ :
#include <cstdio> #include <vector> #include <cstring> const int N = 1005; std::vector < int > v[N]; bool vis[N]; void dfs(int x) { vis[x] = true; for (std::vector < int >::iterator it = v[x].begin(); it != v[x].end(); ++it) if (!vis[*it]) dfs(*it); } int main() { int n, m; while (scanf("%d", &n) && n > 0) { scanf("%d", &m); for (int i = 0; i < N; ++i) v[i].clear(); while (m--) { int x, y; scanf("%d %d", &x, &y); v[x].push_back(y); v[y].push_back(x); } memset(vis, 0, sizeof(vis)); dfs(1); int ans = 1; for (int i = 1; i <= n; ++i) { if (v[i].size() % 2 == 1) ans = 0; if (!vis[i]) ans = 0; } printf("%d\n", ans); } return 0; }
Pascal :
var du:array[1..1010] of longint; n,m,x,y,i:longint; fg:boolean; begin while true do begin read(n); if n=0 then break; readln(m); fillchar(du,sizeof(du),0); for i:=1 to m do begin readln(x,y); inc(du[x]); inc(du[y]); end; fg:=true; for i:=1 to m do if odd(du[i]) then begin fg:=false; break; end; if fg then writeln('1') else writeln('0'); end; end.
- 1
信息
- ID
- 997
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者