USACO2.4.4 Bessie Come Home (comehome)
来源:互联网 发布:邪恶镰刀 数据 编辑:程序博客网 时间:2024/06/05 18:05
题差不多是一个裸的单源最短路,用Dijkstra、Floyd、SPFA做都可以
其中Floyd是(N^3),Dijkstra和SPFA都是(N^2),但因为数据范围很小(只有52个字母),用哪一种都可以
这里用的是Floyd(因为Floyd比较好写)
/*ID:xsy97051LANG:C++TASK:comehome*/#include <iostream>#include <cstdio>#define INF 1000000000using namespace std;int p,dis[53][53]; int zhuan(char c){ if ((c>='a')&&(c<='z')) return (c-'a'+27); if ((c>='A')&&(c<='Z')) return (c-'A'+1);} int main(){freopen("comehome.in","r",stdin);freopen("comehome.out","w",stdout);cin>>p; for(int i=1;i<=52;i++) for(int j=1;j<=52;j++) dis[i][j]=INF; for(int i=1;i<=p;i++) { char c; int x,y,d; cin>>c; x=zhuan(c); cin>>c; y=zhuan(c); cin>>d; if(d<dis[x][y]) dis[x][y]=dis[y][x]=d; } for(int k=1;k<=52;k++) for(int i=1;i<=52;i++) for(int j=1;j<=52;j++) dis[i][j]=min(dis[i][k]+dis[k][j],dis[i][j]); int ans=INF,k; for(int i=1;i<=25;i++) if(dis[i][26]<ans) { ans=dis[i][26]; k=i; } cout<<char(k+'A'-1)<<" "<<ans<<endl;return 0;}
0 0
- USACO2.4.4 Bessie Come Home (comehome)
- USACO2.4.4 Bessie Come Home (comehome)
- usaco2.4.4 Bessie Come Home
- USACO 2.4 Bessie Come Home (comehome)
- [USACO2.4]回家 Bessie Come Home
- [usaco]Bessie Come Home
- bessie come home
- usaco Bessie Come Home
- Bessie Come Home
- USACO:Bessie Come Home
- USACO-Bessie Come Home
- Bessie Come Home
- UVA Bessie Come Home
- USACO Bessie Come Home
- 回家 Bessie Come Home
- 【图论】【USACO】Bessie Come Home
- USACO--2.4Bessie Come Home
- usaco 2.4 bessie come home
- Codeforces 158B
- 全选和全不选
- mongodb性能监控优化
- c
- 多边形裁剪一:Sutherland-Hodgman算法
- USACO2.4.4 Bessie Come Home (comehome)
- Prefix Notation
- dom4j解析xml文档(-)
- Quartz任务调度器及其在Spring中的使用
- ArrayList.add(index, element)失败,都是size的误解
- 单例模式2
- modem.generator不能继承的原因
- java中的各种数据类型在内存中存储的方式
- UITableView 上滑动 隐藏搜索框,下滑,显示搜索框