英文原题 中文题译
加权图上的单源最短路径。本身是最简单的。题目加了一些限制,如,节点从a-z,A-Z编号,最后只输出大写编号的节点到Z节点的最短路径中最短的一个。
走了不少弯路,一开始想用邻接表做,后来一想,整个节点最多52个,应该用最简单的矩阵表示。Dijstraka算法也是用最简单的n^2实现,没有用优先队列来选取最小元素。在节点数大的时候,还是用优先队列实现合适。
加权图上的单源最短路径。本身是最简单的。题目加了一些限制,如,节点从a-z,A-Z编号,最后只输出大写编号的节点到Z节点的最短路径中最短的一个。
走了不少弯路,一开始想用邻接表做,后来一想,整个节点最多52个,应该用最简单的矩阵表示。Dijstraka算法也是用最简单的n^2实现,没有用优先队列来选取最小元素。在节点数大的时候,还是用优先队列实现合适。
/* ID: blackco3 TASK: comehome LANG: C++ */ #include <iostream> #include <memory.h> using namespace std; #define _max_node_ 52 int n_node=_max_node_ ; int dis[_max_node_][_max_node_] ; int main() { freopen("comehome.in", "r", stdin); freopen("comehome.out", "w", stdout); int n_path, n1, n2, d ; cin >> n_path ; memset( dis, 0xff, sizeof(dis) ); for( int i=0; i<n_path; i++ ){ char v1, v2 ; cin >> v1 >> v2 >> d; if( v1==v2 ) continue ; n1 = v1>='a' ? v1-'a' : v1-'A'+26 ; n2 = v2>='a' ? v2-'a' : v2-'A'+26 ; dis[n2][n1] = dis[n1][n2] = dis[n1][n2]==-1 || dis[n1][n2] > d ? d : dis[n1][n2] ; } int sdis[_max_node_], used[_max_node_] ; memcpy( sdis, dis[n_node-1], sizeof(sdis) ); memset( used, 0, sizeof(used) ); for(int i=0; i<n_node-1; i++) { register int tmin = 0x7fffffff, sel_node=-1 ; for(int j=0; j<=n_node-1; j++ ) { if( used[j] || sdis[j]==-1 || tmin <= sdis[j] ) continue ; tmin = sdis[j], sel_node = j ; } if( sel_node==-1 ) break ; used[sel_node] = 1; for(int j=0; j<n_node-1; j++) { if( dis[sel_node][j]==-1 ) continue ; if( sdis[j]==-1 || sdis[sel_node] + dis[sel_node][j] < sdis[j] ) sdis[j] = sdis[sel_node] + dis[sel_node][j]; } } int min_dis=0x7fffffff, node_no; for( int i=26; i<n_node-1; i++ ) if( sdis[i]!=-1 && min_dis>sdis[i] ) min_dis=sdis[i], node_no=i ; cout << (char)('A'+(node_no-26)) << " " << min_dis << endl ; return 0; }
发表评论
-
USACO Training Section 4.2 Cowcycles
2010-01-31 21:11 882英文原题 中文题译 ... -
USACO Training Section 4.2 Job Processing
2010-01-30 17:31 1132英文原题 中文题译 大意: 有N个工件,每个工件要经 ... -
USACO Training Section 4.2 Drainage Ditches ISAP非递归和多路增广递归
2010-01-29 19:39 1846郁闷。不小心覆盖了重 ... -
USACO Training Section 4.2 The Perfect Stall 匈牙利算法的递归和非递归实现
2010-01-28 21:21 1643英文原题 中文题译 ... -
USACO Training Section 4.1 Cryptcowgraphy 奶牛密码
2010-01-27 20:58 1195英文原题 中文题译 大意: 奶牛们要从农场逃跑 ... -
USACO Training Section 4.1 Beef McNuggets
2010-01-26 21:37 966英文原题 中文题译 大意: 给定N个正整数, ... -
USACO Training Section 4.1 Fence Loops
2010-01-24 20:14 1062英文原题 大意: 农夫布朗的牧场上的篱笆已经失 ... -
USACO Training Section 3.4 Closed Fences
2010-01-23 17:50 1401英文原题 题意 一个 ... -
USACO Training Section 3.4 American Heritage
2010-01-21 23:19 771英文原题 大意:有一个由最多26个大写字母构成的二叉树 ... -
USACO Training Section 3.4 Raucous Rockers
2010-01-21 23:09 796英文原题 大意:有S首歌,要放到D个CD里。每首歌有一个 ... -
USACO Training Section 3.4 Electric Fence
2010-01-21 12:57 969英文原题 大意:给定一个三角形(0,0),(m,n),( ... -
USACO Training Section 3.3 Riding the Fences
2010-01-20 23:38 1204英文原题 中文题译 经典的求欧拉路径:给定最多两个奇 ... -
USACO Training Section 3.3 Shopping Offers
2010-01-19 22:18 913英文原题 中文题译 这是个与日常生活相关的题。商场促销 ... -
USACO Training Section 3.3 A Game
2010-01-19 20:54 1092英文原题 有如下一个双人游戏:N(2 <= N & ... -
USACO Training Section 3.3 Home on the Range
2010-01-19 19:36 772英文原题 中文题译 大意:给定一个01矩阵,计算其中全为 ... -
USACO Training Section 3.3 Camelot
2010-01-19 03:39 1230英文原题 中文题译 ... -
USACO Training Section 3.2 Sweet Butter
2010-01-19 00:10 1043英文原题 中文题译 大意:农场之间有路构成稀疏无向图,若 ... -
USACO Training Section 3.2 Magic Squares
2010-01-18 23:11 929英文原题 中文题译 大意:有人发明了一种有8个块三种变换 ... -
USACO Training Section 3.2 Feed Ratios
2010-01-18 20:52 1304英文原题 中文题译 大意:给出整数a[i][j]和 ... -
USACO Training Section 3.2 Spinning Wheels
2010-01-18 19:37 867英文原题 中文题译 大意:有五个纺车飞轮,每个都有最多五 ...
相关推荐
此c++代码实现了USACO上Bessie Come Home的问题,并运用了弗洛伊德算法
ACM----USACO Training(解题博客网),提供了USACO Training解题的代码,可以参考一下
USACO中的bessie come home,用C++编写,用了BFS的知识
自己写的usaco_training带代码。供参考,有一道题是cheat的。自己看吧。
usaco2.4解题报告1
usaco测试数据+标程 usaco的section1到section5的所有测试数据 以及标准程序
usaco解题报告,就是usaco.training.gateway上面的题目全解
USACO题解+代码+翻译,好东西,超级齐全,对大家帮助不小,特别是现在nocow挂了
usaco section2.3--section5.5源程序。。。。。。。。。。。。。。。。
[USACO 1.1.4]破碎的项链.cpp
2.4 Section 2.4 3 Chapter3 3.1 Section 3.1 3.2 Section 3.2 3.3 Section 3.3 3.4 Section 3.4 4 Chapter4 4.1 Section 4.1 4.2 Section 4.2 4.3 Section 4.3 4.4 Section 4.4 5 Chapter5 5.1 Section 5.1 5.2 ...
USACO全部译题 USACO Training Program Gateway
USACO_培训USACO_培训Ride.java-> Gift1.java->
USACO training 教程翻译合集(清晰明确)
USACO培训页面美国计算机奥林匹克训练页2015年6月17日开始
One of the answer of the USACO training exercises.
usaco 合集,包括英文原题和中文译题,测试数据以及答案,很全啊!usaco 合集usaco 合集usaco 合集usaco 合集
usaco历年测试数据
某些USACO题目的答案,很详细,代码清晰结构良好,算法高效易于调试
usaco 2010-2011 nov news,喜欢usaco的朋友可以看看