package com.supermars.practice;
public class 欧拉回路 {
final static int MAXN=1<<10;
static int G[][]=new int[MAXN][MAXN];
static int vis[][]=new int[MAXN][MAXN];
static int n;
/**
* 欧拉道路/回路
* @param u 起点
*/
void euler(int u) {
for (int v = 0; v < n; v++)
if (G[u][v] == 1 && vis[u][v] == 0) {
vis[u][v] = vis[v][u] = 1; // 有向图去除vis[v][u]
euler(v);
System.out.printf("%d %d\n", u, v);
}
}
}
public class 欧拉回路 {
final static int MAXN=1<<10;
static int G[][]=new int[MAXN][MAXN];
static int vis[][]=new int[MAXN][MAXN];
static int n;
/**
* 欧拉道路/回路
* @param u 起点
*/
void euler(int u) {
for (int v = 0; v < n; v++)
if (G[u][v] == 1 && vis[u][v] == 0) {
vis[u][v] = vis[v][u] = 1; // 有向图去除vis[v][u]
euler(v);
System.out.printf("%d %d\n", u, v);
}
}
}