POJ 1094 最短路算法

0x61.图论 - 最短路 对于一张无向图,我们可以把无向边看作两条方向相反的有向边,所以对于图我们都将其作为有向图来看待。 一般用邻接表来存储图,空间复杂度为O(n+m)O(n+m)O(n+m)。 int nex[N],ver[N],head[N],edge[N],tot; void add(int u,int v,int val){ ver[++tot] = v; egde[tot] = val; nex[tot] = head[u]; head[u] = tot; } for(int i= he 阅读详情
正确算法应该为拓扑算法
不过我用最短路也过了
不知道是不是数据太小的问题
以后在用拓扑算法把他过了

题目简单
就一拓扑顺序的题
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define M 30
bool bnxt[M][M];
bool vis[M];
int g[M][M];
int n,m,to;
int ans[M],a[M];
const int FINISH=1,
		FAIL=2,
		NOANSWER=3;

void answer(int flag,int num)
{
	if(flag==FINISH)
	{
		int i,j;
		printf("Sorted sequence determined after %d relations: ",num);
		for(i=n-1;i>=0;i--)
		{
			for(j=0;j<n;j++)
			{
				if(g[j][to]==i)
				{
					putchar('A'+j);
				}
			}
		}
		printf(".\n");
	}
	else if(flag==FAIL)
	{
		printf("Inconsistency found after %d relations.\n",num);
	}
	else
	{
		printf("Sorted sequence cannot be determined.\n");
	}
}

bool judge()
{
	int i,j,k;
	bool allans=false;
	while(true)
	{
		bool bans=false;
    	for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				for(k=0;k<n;k++)
				{
					if(g[i][j]&&g[j][k]&&g[i][k]<g[i][j]+g[j][k])
					{
						bans=true;
						g[i][k]=g[i][j]+g[j][k];
						bnxt[i][k]=true;
						if(g[i][k]==n-1)
						{
							to=k;
							allans=true;
						}
					}
				}
			}
		}
    	if(!bans)
    	{
    		break;
    	}
	}
	if(allans)
	{
		return true;
	}
	return false;
}

void read()
{
	int i;
	char s[20];
	memset(bnxt,0,sizeof(bnxt));
	memset(g,0,sizeof(g));
	int nans=NOANSWER,step=0;
	for(i=0;i<n;i++)
	{
		a[i]=1;
	}
	for(i=1;i<=m;i++)
	{
		scanf("%s",s);
		if(nans!=NOANSWER)
		{
			continue ;
		}
		int u=s[0]-'A';
		int v=s[2]-'A';
		bnxt[u][v]=true;
		if(bnxt[v][u])
		{
			nans=FAIL;
			step=i;
		}
		else
		{
			g[u][v]=max(g[u][v],1);
			if(judge())
			{
				nans=FINISH;
				step=i;
			}

		}
	}
	answer(nans,step);
}
int main()
{
	while(~scanf("%d%d",&n,&m))
	{
		if(n==0&&m==0)
		{
			break;
		}
		read();
	}
}


Edge浏览器IE模式失效?最新142版本隐藏按钮的3种解决方案 本文针对Edge浏览器142版本中IE模式按钮消失的问题,提供了3种实用解决方案,包括注册表修改、手动添加网站到IE模式列表和企业策略部署方案,帮助用户解决兼容性问题,确保老旧系统正常访问。 阅读详情

相关推荐

VS2022+Qt6保姆级环境配置指南:从插件安装到项目互通全流程

本文提供VS2022与Qt6深度整合的全流程指南,涵盖环境配置、插件安装、项目互通等关键步骤。详细解析编译器版本匹配、跨IDE协作方案及效能优化技巧,帮助开发者高效搭建C++界面设计开发环境,实现软件项目无缝互通。

zero1的博客 735

POJ 最短路问题-Dijkstra

POJ 最短路问题集锦: Dijkstra算法: 详细介绍:http://hi.baidu.com/iotbill/item/cb5fc1de28a3e63721e250d9 Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效...

weixin_30462049的博客 457

MIPI video mode 和 command mode 的区别

1、何为LCD RAM? LCD 是指字面意思是液晶显示屏(Liquid Crystal Display), 而RAM: 随机存取存储器(Random-Access Memory),两者完全是风马牛不相及的东西。 下图是一个标准的LCD的爆炸图(不含TP),请注意图中红色mark的地方:控制IC-- LCD的大脑。所谓的LCD RAM自然是指此大脑是否包含RAM. 题外话<不感兴趣的...

精诚所至 4691

torch.div()的使用举例

参考链接: torch.div() 说明: 张量和标量做逐元素除法 或者两个可广播的张量之间做逐元素除法

敲代码的小风 2万+

可变形卷积(Deformable Conv)原理解析与torch代码实现

图6为可变形卷积示意图。图1所示为普通卷积在输入特征图上进行卷积计算的过程,卷积核大小为3*3,在输入特征图尺寸为7*7上进行卷积,将卷积核权重与输入特征图对应位置元素相乘并求和得到输出特征图元素,按一定方式滑动窗口就能计算得到整张输出特征图。图6所示,在input feature map上普通卷积操作对应卷积采样区域是一个卷积核大小的正方形(绿框),而可变形卷积对应的卷积采样区域为一些蓝框表示的点,这就是可变形卷积与普通卷积的区别。先来一张图感受一下,图3为标准卷积与可变形卷积的卷积示例。

panghuzhenbang的博客 5万+

Matlab_Marr小波尺度变换图

多尺度的连续小波变换分解后时间尺度图 墨西哥Marr小波函数: %delta 小波变换尺度 %N     小波函数的长度 %s     原始信号 %g     原始信号某个尺度下的小波变化系数 function g=Singularity_Detection(delta,N,s); %保持信号长度 n=length(s); % 构造墨西哥小帽小波函数 for index_x=1

桔色小西瓜 6602

【算法基础篇】(三十七)图论基础之单源最短路:从原理到实战,4 大算法彻底吃透!

本文系统介绍了4种经典单源最短路算法及其应用场景。Dijkstra算法(常规版和堆优化版)适用于非负权图,时间复杂度分别为O(n²)和O(mlogn)。Bellman-Ford算法通过n-1轮松弛处理负权边,可检测负环,复杂度O(nm)。SPFA作为其优化版本,平均复杂度O(km)。文章详细分析了各算法的核心思想、代码实现和适用条件,并提供了洛谷模板题解答。最后通过邮递员送信和最短路计数两个变形问题,展示了算法的实际应用。针对不同场景,给出了选择算法的三步决策法:判断负权边→检测负环需求→考虑数据规模。

2301_79248256的博客 1315

变焦跟踪理论基础(如何在变焦过程中保持清晰)

如何在整个变焦过程中一直保持图像的清晰度或焦点是变焦跟踪的主要挑战。 当用户在缩放跟踪的情况下改变缩放时,设备保持对焦。 然而,在没有变焦跟踪的情况下,图像变得失焦,图像在变焦跟踪后由于自动对焦(AF)算法才最终对焦。...................................................

ChenYX的博客 20万+

POJ 3037 (最短路)

Bessie and the rest of Farmer John's cows are taking a trip this winter to go skiing. One day Bessie finds herself at the top left corner of an R (1 <= R <= 100) by C (1 <= C <= 100) grid ...

weixin_44757834的博客 311

AIDD-人工智能药物设计-构建基于机器学习方法的在线预测平台高准确预测药物诱导骨毒性

在此基础上,提取多种药物分子特征,包括分子指纹(如MACCS、Morgan、RDKit、TopologicalTorsion、AtomPairs与Descriptors)及分子图谱,通过Transformer编码器与神经网络进行机器学习模型训练。最后,将训练好的模型部署为在线Web服务器(BoneToxPD),供用户快速预测药物的骨毒性。本研究不仅在骨毒性预测的准确性方面取得了突破,还在模型解释性方面提供了新的视角,通过注意力机制精准识别出影响骨毒性的关键化学基团,推动药物研发领域更安全、更高效的发展。

itwangyang520的博客 1082

ANSYS_APDL实战入门——从零开始掌握模态分析

本文为ANSYS APDL模态分析实战入门指南,通过一个悬臂梁案例,手把手教你从零开始掌握APDL命令流。内容涵盖从模型创建、材料定义、网格划分到边界条件设置、求解及后处理结果查看的全流程,帮助工程师快速上手结构动力学分析,避免共振风险。

egg99的博客 1132

POJ中最短路问题汇总【转】

求最短路基本的算法: 1>Dijkstra算法 2>Bellman-Ford算法 3>Floyd算法 4>Floyd-Warshall算法 5>Johnson算法 6>A*算法 题目: 1.poj1062昂贵的聘礼(中等)    此题是个经典题目;用Dijkstra即可;但是其中的等级处理需要一定的技巧;   要理解好那个等级制度;这个处理好,基本就是裸体Dijkstra;

_Aka 735

微信小程序 - 强力解决播放视频卡顿问题,小程序使用video组件播放视频或第三方视频插件,会出现卡顿或者无法播放的各种奇怪问题(微信小程序苹果ios/安卓播放视频很卡不流畅、视频太长或文件大等情况)

微信小程序视频组件播放卡顿,微信小程序video组件出现无法播放或卡顿,微信小程序video组件播放时会出现卡顿,微信小程序使用video组件播放视频的时候,会出现卡顿或者无法播放的问题,微信小程序安卓视频播放卡顿问题,微信小程序苹果ios手机播放视频不流畅很卡,加cdn还是卡,uniapp播放视频会有明显的卡顿问题,video视频时卡顿不流畅问题,为什么video组件播放视频卡顿?苹果微信小程序通过video组件播放视频时卡顿,怎么解决?微信小程序video组件出现无法播放或卡顿,设置custom-cac

🏆 前端领域优质创作者 1万+

蓝书(算法竞赛进阶指南)刷题记录——POJ1094 Sorting It All Out(最短路floyd)

题目:POJ1094. 题目大意:给定nnn组不等关系,格式为x&amp;amp;amp;lt;yx&amp;amp;amp;lt;yx&amp;amp;lt;y.现在要求输出最早能够确定唯一顺序或产生矛盾的位置,或输出没有这样一个位置,若有唯一顺序要输出顺序. 注意这道题的输出格式. 这道题一看想到了差分约束,仔细一想用floyd跑差分约束,然后发现好像确实可做. 我们用设f[i][j]f[i][j]f[i][j]为truetruetrue表...

hzk_cpp的博客 281

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ图论列表

做题记录:     AC           典型    好题或较难         待做            WA        多次wa后ac 1062* 昂贵的聘礼 枚举+dijkstra加点构图 1087A Plug for UNIX 2分匹配+Floyd  1094 Sorting It All Out floyd +拓扑 1112* Team Them Up! 2分图染

新博客地址:sensirly.github.io 1487

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【转】最短路&差分约束题集

  转自:http://blog.youkuaiyun.com/shahdza/article/details/7779273 最短路 【HDU】 1548 A strange lift基础最短路(或bfs)★2544 最短路 基础最短路★3790 最短路径问题基础最短路★2066 一个人的旅行基础最短路(多源多汇,可以建立超级源点和终点)★2112 HDU Today基础最短...

weixin_30321449的博客 185

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ACM主要算法

ACM主要算法 ACM主要算法介绍 初期篇 一、基本算法 (1)枚举(poj1753, poj2965) (2)贪心(poj1328, poj2109, poj2586) (3)递归和分治法 (4)递推 (5)构造法(poj3295) (6)模拟法(poj1068, poj2632, poj1573, poj2993, poj2996) 二、图算法 (1)图的

不一样的烟火 6560

poj图论问题

1062* 昂贵的聘礼枚举等级限制+dijkstra 1087* A Plug forUNIX 2分匹配 1094 Sorting ItAll Out floyd 或拓扑 1112* Team ThemUp! 2分图染色+DP 1125 StockbrokerGrapevine FLOYD 1135 DominoEffect 最短路 1149* PIGS 网络流 1161*

小田坎儿 782

杭电、POJ、ZOJ ACM刷题顺序和题目分类详解

首先推荐一个各大ACM网站的一键直达网站。 链接地址:https://vjudge.net 杭电OJ刷题顺序推荐 第一阶段:开始入门!(15天,53题) 一.输入输出练习(2天,10题) 1000、1089—1096、1001二.简单操作(2—4天,12题) 2000—2011、2039三.英文题试水(3—4天,8题) 1720、1062、2104、1064、2734、1170、1197、2629四.回归水题(4-6天,24题) 2012—2030、2032、2040、2042、...

Lycodeboy的博客 1万+

POJ简单题目的分类

POJ简单题目:: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路径算法(dijks...

Yi__Xiao的博客 676

北大ACM - POJ试题分类 (2017整理版)

北大ACM - POJ试题分类 (2017整理版)—— By EXP 2017-12-03

ζёСяêτ - 小優YoU 5万+

最短路&查分约束

【HDU】 1548 A strange lift 根蒂根基最短路(或bfs)★ 2544 最短路 根蒂根基最短路★ 3790 最短路径题目 根蒂根基最短路★ 2066 一小我的观光 根蒂根基最短路(多源多汇,可以建树超等源点和终点)★ 2112 HDU Today 根蒂根基最短路★ 1874 通顺工程...

weixin_30239339的博客 166

POJ算法做题顺序

转自: 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路

MemRay 6008

poj图论

1062* 昂贵的聘礼 枚举等级限制+dijkstra 1087* A Plug for UNIX 2分匹配 1094 Sorting It All Out floyd 或 拓扑 1112* Team Them Up! 2分图染色+DP 1125 Stockbroker Grapevine FLOYD 1135 Domino Effect 最短路 1149* P

夏天的伞 590

POJ题目分类(转)

转发自:https://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html POJ题目分类 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2...

匿名攻城狮 1686

【算法】POJ 题目分类

POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po

小田的专栏 2077
上一篇: POJ2485 prim 最小生成树
下一篇: POJ 3026
MakingMaker
博客等级 码龄15年 6粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值