一道求最短路径的最长边的题,本身没什么好说的。 很大的一个问题是在输入上面,怎么把字符串中的数字转换为整数 。
可以用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()); } }
相关推荐
北大POJ2002-Squares 解题报告+AC代码
北大POJ3253-POJ3253-Fence Repair【STL优先队列】 解题报告+AC代码
poj 1000 - 2000 部分题目 官方分类 poj 1000 - 2000 部分题目 官方分类
北大POJ2262-Goldbach's Conjecture 解题报告+AC代码
北大POJ1426-Find The Multiple【BFS+同余模】 解题报告+AC代码
北大POJ2388-Who's in the Middle 解题报告+AC代码
北大POJ3020-Antenna Placement 解题报告+AC代码
POJ2528-Mayor's posters 测试数据。数据来源:Alberta Collegiate Programming Contest 2003.10.18 – 问题G
这是魔兽世界终极版POJ的-测试数据,找了好久才找到的。 本来想设置为0积分,但是它居然自动收费(o_ _)ノ。 看传送门:https://pan.baidu.com/s/1cCIwW8psGDASu2JdZawG3Q
POJ3211--Washing Clothes
北大POJ3414-Pots 解题报告+AC代码
北大POJ2305-Basic remains POJ2305-Basic remains
北大POJ1321-Chess Problem POJ1321-Chess Problem
北大POJ3006-Dirichlet's Theorem on Arithmetic Progressions 解题报告+AC代码
北大POJ1080-Human Gene Functions POJ1080-Human Gene Functions
北大POJ1159-Palindrome 解题报告+AC代码
poj 1000-3000部分代码 网上收集
POJ---1456.Supermarket测试数据及答案,题目描述:A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold by a deadline dx that is measured as an integral ...
北大POJ2488-A Knight's Journey 解题报告+AC代码
北大POJ1258-Agri-Net【Prim】 解题报告+AC代码