#include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1010; int n,m,res; int d[N]; bool st[N],g[N][N]; int dfs(int u) { st[u]=1; int cnt=1; for (int i = 1; i <= n; i ) if(!st[i]&&g[u][i])cnt =dfs(i);//如果连接 return cnt; } int main() { cin>>n>>m; while (m -- ) { int a,b; cin>>a>>b; g[a][b]=g[b][a]=true; d[a] ,d[b] ; } int cnt=dfs(1); for (int i = 1; i <= n; i )cout<<d[i]<<' '; puts(""); if(cnt==n) { for (int i = 1; i <= n; i ) if(d[i]&1)res ; if(res==0)puts("Eulerian"); else if(res==2)puts("Semi-Eulerian"); else puts("Non-Eulerian"); } else puts("Non-Eulerian"); return 0; }
#include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1e6 10; int n,m,res,ret; int s[N],p[N]; int find(int x) { return p[x]==x?x:p[x]=find(p[x]); } int main() { cin>>n>>m; for (int i = 1; i <= n; i )p[i]=i; while (m -- ) { int a,b,x,y; cin>>a>>b; x=find(a),y=find(b); if(x!=y)p[x]=y; s[a] ,s[b] ; } int x=find(1); bool flag=false; for (int i = 2; i <= n; i ) { int xx=find(i); if(x!=xx) { flag=true; break;//不连通 } } for (int i = 1; i <= n; i ) { if(s[i]&1)res ; else ret ; cout<<s[i]<<' '; } puts(""); if(flag)puts("Non-Eulerian"); else { if(res==0)puts("Eulerian"); else if(res==2)puts("Semi-Eulerian"); else puts("Non-Eulerian"); } return 0; }
import java.io.*; import java.util.*; public class Main { static int p[]=new int [1010]; static int s[]=new int [1010]; static int res=0; public static int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } public static void main(String args[]) { Scanner cin = new Scanner(System.in); int n=cin.nextInt(),m=cin.nextInt(); for (int i = 1; i <= n; i )p[i]=i; while(m--!=0) { int a,b,x,y; a=cin.nextInt(); b=cin.nextInt(); x=find(a); y=find(b); if(x!=y)p[x]=y; s[a] ; s[b] ; } int x=find(1); boolean flag=false; for (int i = 2; i <= n; i ) { int xx=find(i); if(x!=xx) { flag=true; break;//不连通 } } for (int i = 1; i <= n; i ) { if(s[i]%2!=0)res ; System.out.print(s[i] " "); } System.out.println(""); if(flag==true) System.out.println("Non-Eulerian);
else
{
if(res==0) System.out.println("Eulerian");
else if(res==2) System.out.println("Semi-Eulerian");
else System.out.println("Non-Eulerian");
}
return ;
}
}