PTA 哥尼斯堡的“七桥问题”(欧拉图的判定)

本文探讨了PTA中哥尼斯堡的七桥问题,从无向图和有向图的角度出发,阐述了欧拉路径和欧拉回路的条件。在无向图中,图需连通且仅两个点度数为奇数;在有向图中,图需连通,仅两个点的度数为1,其余为0。
摘要由CSDN通过智能技术生成
图G的一个回路,若它恰通过G中每条边一次,则称该回路为欧拉(Euler)回路,具有欧拉回路的图称为欧拉图。
1.无向图中:所给定的图为连通图,且所有节点的度为偶数

2.有向图中:所给定的图为连通图,且所有节点的度为零

欧拉路径但非欧拉回路:

1.无向图中:所给定的图为连通图,只有两个点的度为奇数,其他为偶数

2.有向图中:所给定的图为连通图,只有两个点的度为1,其他为零

#include <cstdio>
#include <cstring>
#include <iostream>
int map[1005][1005];
int book[10005];
int degree[1005];
int count;
int n,m;
using namespace std;
int JudgeIndegree(){
	for(int i=1;i<=n;i++)
		if(degree[i]%2!=0)
			return 0;
	return 1;
}
void DFS(int x){
	count++;
	for(int i=1;i<=n;i++){
		if(!book[i]&&map[x][i]){
			book[i]=1;
			DFS(i);
		}
	}
	return;
}
int main(){
	int x,y;
	while(cin>>n>>m){
		count=0;
		memset(map,0,sizeof(map));
		memset(book,0,sizeof(book));
		memset(degree,0,sizeof(degree));
		for(int i=1;i<=m;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值