`
人生难得糊涂
  • 浏览: 117354 次
社区版块
存档分类
最新评论

poj1502-dijs

 
阅读更多

一道求最短路径的最长边的题,本身没什么好说的。  很大的一个问题是在输入上面,怎么把字符串中的数字转换为整数  。

可以用C中的

int t =atoi(char *c)方法 
 discuss中也有人给出了另一种方法


if(scanf("%d",&m)!=0)
	map[i][j]=map[j][i]=m;
else
{
	map[i][j]=map[j][i]=INITMAX;
	scanf("x");
}

因为
scanf("%d%d",&a,&b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF
且返回值为int型.
 
下面贴代码
#include<iostream>
#include<cstdlib>
using namespace std;
#define MAXSIZE 110
#define INF 1000000
int map[MAXSIZE][MAXSIZE];
int vis[MAXSIZE];
int dis[MAXSIZE];
int n;

int dijs()
{
	int i,j;
	memset(vis,0,sizeof(vis));
	for(i=1;i<=n;i++)
	{
		if(map[1][i])
			dis[i]=map[1][i];
		else
			dis[i]=INF;
	}
	dis[1]=0;
	vis[1]=1;
	for(i=1;i<n;i++)
	{
		//find min
		int min=INF;
		int index=-1;
		for(j=1;j<=n;j++)
		{
			if(!vis[j]&&dis[j]<min)
			{
				min=dis[j];
				index=j;
			}
		}

		//update 
		if(index!=-1)
		{
			vis[index]=1;
			for(j=1;j<=n;j++)
			{
				if(!vis[j]&&map[index][j])
				if(dis[j]>dis[index]+map[index][j])
				{
					dis[j]=dis[index]+map[index][j];
				}
			}
		}
	}
	int ans=-1;
	for(j=1;j<=n;j++)
	{
		if(ans<dis[j])
			ans=dis[j];//=ans;
	}
	return ans;
}
int main()
{
	//freopen("in.txt","r",stdin);
	while(scanf("%d",&n)!=EOF)
	{
		int i,j;
		memset(map,0,sizeof(map));
		for(i=1;i<n;i++)
			for(j=1;j<=i;j++)
			{
				char t1[10];
				scanf("%s",&t1);
				if(t1[0]=='x')
					map[i+1][j]=map[j][i+1]=0;
				else
					map[i+1][j]=map[j][i+1]=atoi(t1);

			}
		printf("%d\n",dijs());
	}
}
 

0
0
分享到:
评论

相关推荐

    POJ2002-Squares

    【标题】"POJ2002-Squares"是一个经典的计算机编程题目,源自北京大学的在线判题系统(POJ,即PKU Online Judge)。这个题目主要涉及到算法设计和实现,尤其是数学和动态规划方面的知识。 【描述】"解题报告+AC代码...

    POJ3253-POJ3253-Fence Repair【STL优先队列】

    标题“POJ3253-POJ3253-Fence Repair【STL优先队列】”指的是一个在线编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。该题目要求参赛者使用C++编程语言解决特定的问题,并且在解决方案中...

    POJ1426-Find The Multiple【BFS+同余模】

    【标题】"POJ1426-Find The Multiple【BFS+同余模】"是一道来源于北京大学在线编程平台POJ的算法题目,主要涉及到了广度优先搜索(BFS)与同余模运算的知识点。这道题目要求解决的是寻找一个整数的倍数问题,可能...

    POJ2262-Goldbach's Conjecture

    【标题】"POJ2262-Goldbach's Conjecture"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目是基于著名的数学猜想——哥德巴赫猜想(Goldbach's Conjecture)设计的。 【描述...

    POJ2388-Who's in the Middle

    《POJ2388-Who's in the Middle》是一个典型的计算机编程竞赛题目,主要考察参赛者的算法设计和实现能力。这个题目源自北京大学的在线评测系统POJ(PKU Online Judge),是编程爱好者和学生提升编程技能的重要平台之...

    POJ3020-Antenna Placement

    【标题】"POJ3020-Antenna Placement"是一个经典的计算机编程竞赛题目,源自北京大学的在线评测系统POJ(PKU Online Judge)。这个题目挑战了参赛者在算法设计和实现上的能力。 【描述】"解题报告+AC代码"意味着这...

    poj 1000 - 2000 部分题目 官方分类

    《POJ 1000 - 2000 部分题目 官方分类》 编程竞赛,特别是在线判题系统(如POJ,即Problem Online Judge)中的题目,是提升编程技能和算法理解的重要途径。POJ 1000 - 2000 是一个涵盖广泛的题目区间,包含了大量的...

    魔兽世界终极版POJ的-测试数据

    这是魔兽世界终极版POJ的-测试数据,找了好久才找到的。 本来想设置为0积分,但是它居然自动收费(o_ _)ノ。 看传送门:https://pan.baidu.com/s/1cCIwW8psGDASu2JdZawG3Q

    POJ1837-Balance

    【标题】"POJ1837-Balance"是一个在线编程竞赛题目,源自著名的编程练习平台POJ(Programming Online Judge)。这个题目旨在测试参赛者的算法设计和实现能力,特别是处理平衡问题的技巧。 【描述】"解题报告+AC代码...

    POJ1258-Agri-Net【Prim】

    【标题】"POJ1258-Agri-Net【Prim】" 是一个编程竞赛题目,来源于北京大学的在线评测系统POJ(Problem Online Judge)。这个题目主要涉及到图论中的一个重要算法——普里姆(Prim)算法。 【描述】"北大POJ1258-...

    POJ1010-STAMPS

    【标题】"POJ1010-STAMPS"是一个编程题目,来源于北京大学的在线判题系统POJ(Problem Set of Peking University),这是一处训练程序员算法技能和编程能力的平台。该题目旨在考察参赛者对动态规划或贪心算法的理解...

    POJ2299-Ultra-QuickSort

    【标题】"POJ2299-Ultra-QuickSort"是北京大学在线判题系统POJ上的一道编程题目,其主要涉及的算法是快速排序(Ultra-QuickSort)。快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的基本思想是采用...

    POJ2503-Babelfish

    【标题】"POJ2503-Babelfish"是一个来自北京大学在线判题系统(POJ,Problem Online Judge)的编程题目。该题目要求参赛者编写程序解决特定的算法问题,通过编程语言实现,然后提交代码以供系统自动评测。 【描述】...

    POJ3006-Dirichlet's Theorem on Arithmetic Progressions

    【标题】"POJ3006-Dirichlet's Theorem on Arithmetic Progressions"是北京大学在线编程平台POJ上的一道题目,该题目主要基于数论中的狄利克雷定理(Dirichlet's Theorem on Arithmetic Progressions)。狄利克雷...

    POJ3414-Pots

    标题“POJ3414-Pots”是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目主要考察的是算法设计和实现能力,通常涉及计算机科学中的数据结构和算法知识。 解题报告是参赛者在...

    POJ2525-Text Formalization【TrieTree】

    《POJ2525-Text Formalization:深入解析TrieTree》 在计算机科学的世界里,算法和数据结构是解决问题的关键。今天我们要探讨的是一个名为"POJ2525-Text Formalization"的问题,它涉及到一种高效的数据结构——Trie...

    POJ1003-Hangover

    【标题】"POJ1003-Hangover"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这类题目通常要求参赛者编写程序来解决特定的算法问题,以此锻炼和测试编程技能及算法理解能力。 【描述...

    POJ1201-Intervals

    【标题】"POJ1201-Intervals" 是北京大学在线编程平台POJ上的一道题目,这道题目主要涉及计算机科学中的算法设计与分析,尤其是数据结构和时间复杂度优化方面的知识。 【描述】"北大POJ1201-Intervals 解题报告+AC...

    POJ3122-Pie

    【标题】"POJ3122-Pie"是一道来自北京大学在线判题系统POJ(Problem Online Judge)的编程题目。这道题目通常被用于训练程序员的数据结构和算法技能,特别是解决数学问题的能力。在编程竞赛或者算法训练中,这类题目...

    POJ1159-Palindrome

    【标题】"POJ1159-Palindrome" 是北京大学在线编程平台POJ上的一道编程题目。这道题目主要考察的是字符串处理和回文判断的知识点。 【描述】"北大POJ1159-Palindrome 解题报告+AC代码" 暗示了解决这道问题的方法和...

Global site tag (gtag.js) - Google Analytics