`
Midnight0101
  • 浏览: 16746 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

poj3259 bellman水题

阅读更多
poj3259http://poj.org/problem?id=3259
最简单的bellman,判断是否有负环,n-1次松弛后若还能松弛,则有负环
#include <iostream>
#include <fstream>
#define INF 999999999
using namespace std;

struct E
{
	int u;
	int v;
	int w;
}edges[6000];

int n,m,w;
int countEdge;
int dist[1000];



void addEdge(int e,int s,int t)
{
	countEdge++;
	edges[countEdge].u=e;
	edges[countEdge].v=s;
	edges[countEdge].w=t;
	
	
}

bool bellman()
{
	int i,j;
	dist[1]=0;
	for(i=2;i<=n;i++)
		dist[i]=INF;
	for(i=1;i<n;i++)
		for(j=1;j<=countEdge;j++)
		{
			if(dist[edges[j].v]>dist[edges[j].u]+edges[j].w)
				dist[edges[j].v]=dist[edges[j].u]+edges[j].w;
		}
	for(i=1;i<countEdge;i++)
	{
		if(dist[edges[i].v]>dist[edges[i].u]+edges[i].w)
			return true;
	}
	return false;
	
}

int main()
{
	int f;
//	ifstream cin("1.txt");
	cin>>f;
	while(f--)
	{
		cin>>n>>m>>w;
		countEdge=0;
		int i,s,e,t;
		for(i=0;i<m;i++)
		{
			cin>>s>>e>>t;
			addEdge(s,e,t);
			addEdge(e,s,t);
		}
		for(i=0;i<w;i++)
		{
			cin>>s>>e>>t;

			addEdge(s,e,-t);
		}
		if(bellman())
			cout<<"YES"<<endl;
		else
			cout<<"NO"<<endl;
		
	}

	
	return 0;
}






分享到:
评论

相关推荐

    POJ3259-Wormholes【Bellman】

    【标题】"POJ3259-Wormholes【Bellman】"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目主要涉及图论中的一个算法——贝尔曼-福特(Bellman-Ford)算法。 【描述】"北大POJ...

    POJ3259--Wormholes(bellman).rar_wormhole code _wormholes

    标题中的“POJ3259--Wormholes(bellman)”是指一个编程竞赛问题,源自POJ(Programming Online Judge)平台。这个问题涉及到利用贝尔曼-福特算法(Bellman-Ford Algorithm)解决“虫洞”(Wormholes)的问题。在...

    POJ1860-Currency Exchange【Bellman】

    【标题】"POJ1860-Currency Exchange【Bellman】"是一个编程问题,源自北京大学的在线评测系统POJ(Problem Online Judge),主要考察的是动态规划中的贝尔曼(Bellman)算法。这类问题通常涉及最优化问题的解决,...

    poj推荐50题

    根据题目要求,以下是从“poj推荐50题”中提炼出的相关知识点: ### 第一类:动态规划 #### 重要性: 动态规划是算法学习中的重要组成部分,它可以帮助解决许多复杂的问题,通过将问题分解为更小的子问题来求解。 ...

    poj题目分类

    * 最短路径算法:例如 Dijkstra、Bellman-Ford、Floyd、Heap+Dijkstra,例如 poj1860、poj3259、poj1062、poj2253、poj1125、poj2240。 * 最小生成树算法:例如 Prim、Kruskal,例如 poj1789、poj2485、poj1258、...

    POJ算法题目分类

    * 图的深度优先遍历和广度优先遍历:图的深度优先遍历和广度优先遍历是指遍历图的两种方式,如 poj1860、poj3259、poj1062、poj2253、poj1125、poj2240。 * 最短路径算法:最短路径算法是指计算图中两点之间的最短...

    acm训练计划(poj的题)

    - (poj1860, poj3259, poj1062, poj2253, poj1125, poj2240):介绍迪杰斯特拉算法(Dijkstra)、贝尔曼-福特算法(Bellman-Ford)、弗洛伊德算法(Floyd)等。 - 使用堆优化的迪杰斯特拉算法。 3. **最小生成树...

    POJ2983-Is the Information Reliable【差分约束+优化Bellman】

    《POJ2983-Is the Information Reliable:解析差分约束与优化Bellman算法》 北京大学在线编程平台上的POJ2983题目——"Is the Information Reliable",是一道涉及差分约束系统(Differential Constraint System)与...

    POJ题目简单分类(ACM)

    - **最短路径算法**:包括dijkstra、bellman-ford、floyd和heap+dijkstra,如poj1860等,用于找到节点间的最短距离。 - **最小生成树算法**:prim和kruskal算法,如poj1789,用于找到图的最小成本连接。 - **拓扑...

    poj训练计划.doc

    - 图的深度优先遍历和广度优先遍历:用于探索图的所有节点,如`poj1860, poj3259`。 - 最短路径算法:如Dijkstra算法和Bellman-Ford算法,用于找到两点间的最短路径,如`poj1062, poj2253`。 - 最小生成树算法:...

    POJ 100题代码

    《POJ 100题代码》解题报告详述 在编程竞赛的世界里,POJ(Problem Set of Peking University)是北京大学主办的一个在线编程平台,它为参赛者提供了丰富的算法题目,以锻炼和提升编程及算法能力。本解题报告针对的...

    poj各种分类

    POJ作为一个知名的在线编程平台,提供了大量的算法练习题,适合从初学者到高级选手的不同层次用户。下面,我们将根据给定的部分内容,深入探讨POJ上的题目分类以及相关的知识点。 ### 一、基本算法 #### 枚举 枚举...

    POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类

    - **例题**:poj1860, poj3259, poj1062, poj2253, poj1125, poj2240 - **解释**:最短路径算法包括Dijkstra算法、Bellman-Ford算法、Floyd算法以及堆优化的Dijkstra算法等。 ##### (3) 最小生成树算法 - **例题**...

    POJ 分类题目 txt文件

    例如,题目poj1860和poj3259就是典型的最短路径问题。 ### 3. 数据结构 数据结构部分包括数组、链表、栈、队列、树、堆、哈希表等,它们在存储和访问数据时提供不同的效率和特性。哈希表(Hash)是一种高效的数据...

    经典 的POJ 分类

    - POJ 1860、POJ 3259:利用Dijkstra算法解决最短路径问题。 - POJ 1062、POJ 2253:涉及Bellman-Ford算法的应用场景。 - POJ 1125、POJ 2240:Floyd算法的典型实例。 ##### 最小生成树 - **算法**: - Prim...

    强大的POJ分类——各类编程简单题及其算法分类

    2. **最短路径算法**:包括Dijkstra、Bellman-Ford、Floyd和堆优化的Dijkstra,如POJ1860、3259、1062、2253、1125和2240。 3. **最小生成树算法**:Prim和Kruskal方法,用于找到图中权重最小的连接所有节点的子树,...

    ACM常用算法及其相应的练习题.docx

    + poj1860, poj3259, poj1062, poj2253, poj1125, poj2240 * 最小生成树算法:prim, kruskal + poj1789, poj2485, poj1258, poj3026 * 拓扑排序:poj1094 * 二分图的最大匹配:匈牙利算法 + poj3041, poj3020 * ...

    acm新手刷题攻略之poj

    ### ACM新手刷题攻略之POJ ... - 推荐题目:[poj1860](https://vjudge.net/problem/POJ-1860)、[poj3259](https://vjudge.net/problem/POJ-3259)、[poj1062](https://vjudge.net/problem/POJ-1062)、[poj2253]...

    poj pku图论、网络流入门题总结、汇总

    根据提供的标题“poj pku图论、网络流入门题总结、汇总”及描述“很经典的图论,网络流入门的题目,值得一看啊~~其中有简单的解析”,本篇将对这些经典图论与网络流问题进行详细的分析和总结。通过梳理各题目及其...

    ACM-POJ 算法训练指南

    1. **最短路径**:Dijkstra算法、Bellman-Ford算法、Floyd算法等,用于寻找两点间最短路径(poj1860, poj3259, poj1062, poj2253, poj1125, poj2240)。 2. **最小生成树**:Prim算法和Kruskal算法,用于构建图的...

Global site tag (gtag.js) - Google Analytics