Discuz! Board

 找回密码
 立即注册
查看: 760|回复: 0

七桥问题

[复制链接]

27

主题

29

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
14147
发表于 2023-12-10 13:08:13 | 显示全部楼层 |阅读模式
[C++] 纯文本查看 复制代码
#include<bits/stdc++.h>          
using namespace std;
//七桥问题邻接矩阵  
int map0[4][4]={
	0,2,2,1,
	2,0,0,1,
	2,0,0,1,
	1,1,1,0
	};

int cnt;

void dfs1(int n,int c)//当前位置,当前层数 
{
	for(int i=0;i<4;i++)//环顾四周,四个目标点
	{
		if(map0[n][i]!=0)
		{
			map0[n][i]--;
			map0[i][n]--;//做标记 
			if(c==7)//是否到达终点 
			{
				cnt++;
			}
			else
			{
				dfs1(i,c+1);
			}
			map0[n][i]++;//回溯//回到上一个点
			map0[i][n]++;  
		}
	} 
}

void qiqiao()
{
	for(int i=0;i<4;i++)
	{
		dfs1(i,1);
	}
}

int main()
{
	qiqiao();
	cout<<cnt; 
    return 0;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-2-13 05:12 , Processed in 0.049710 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表