fjnu 1441 哈利.波特与魔法石
来源:互联网 发布:会计软件开发 编辑:程序博客网 时间:2024/04/29 20:17
Description
大年初三的那个晚上,小可可去电影院看了《哈利?波特与魔法石》,回到家坐在椅子上不一会儿就睡着了,并且梦见自己成了哈利?波特驰骋在充满了正义与邪恶的宇宙中执著地为了正义而战.
那天哈利?波特去拯救Super Samuel星球上的生灵.该星球上有七种不同的地形,依次分别是石子路,森林,草地,山地,雪地,沼泽和沙漠,用数字1~7来表示.任意两个城市之间都存在至少一条通路,而且任意两个能够不经过别的城市而直接通达的城市i和j之间都只存在一种地形ti,j.奇怪的是,在Super Samuel星球上哈利?波特穿越地形u所需要的时间与该地形的区域大小无关,却与地形的区域中是否有魔法石有关.如果地形u的区域中没有魔法石,哈利?波特要花费hu的时间才能穿越该区域,否则他只要花一半的时间就能穿越了.已知h1=2,h2=6,h3=4,h4=8,h5=6,h6=10和h7=14.su=1表示地形的区域中有魔法石;su=0表示地形u的区域中没有魔法石.
例如,如图所示,有4对可以直接通达的城市(城市1与2,1与3,2与4以及3与4);s1=0,s2=1,s3=s4=s5=s6=s7=0即只有森林中有魔法石,因此穿越森林所花费的时间是6/2=3,穿越石子路和草地的时间仍然分别是2和4.如果哈利?波特想从城市1到达城市4,则最快的路线是经过城市2,这条路线需要的时间是2+3=5.
哈利?波特总是忙于铲除邪恶,伸张正义,没有时间去寻找从起点城市i到终点城市j之间的最快路线.现在聘你作为哈利?波特的助手编写程序寻找最快路线为哈利?波特腾出更多的时间来将正义事业进行到底.
Input
第一行有七个数,分别是s1,s2,…,s7;第二行有两个数,依次分别是起点城市i和终点城市j;第三行有一个正整数c,c<=10000,表示随后的c行中每行存放了一对能直接通达的城市的信息.能直接通达的城市的信息由三个数组成,依次分别是两个城市的编号和这两个城市之间的地形.城市的编号都是不超过100的正整
数,但是各个城市的编号未必连续.
Output
输出起点城市i与终点城市j之间的最快路线所需要的时间.
Sample Input
0 1 0 0 0 0 01 441 2 11 3 12 4 23 4 3
Sample Output
5
KEY:这题是求两点之间最短路径的问题,开始是一直RE原来,是我对没初始化的变量使用了,后来是wa,后来翻翻书发现的的算法有问题,三重循环位置不对,改了AC
Source:
#include<iostream>
#define MAX 1000000
using namespace std;
int s[10];
int h[10]=...{0,2,6,4,8,6,10,14};
int x,y;
int n;
int a[101][101];
void init()
...{
int i,j;
for(i=1;i<=100;i++)
...{
for(j=1;j<=100;j++)
a[i][j]=MAX;
}
for(i=1;i<=100;i++)
a[i][i]=0;
}
void input()
...{
int i,c;
for(i=1;i<=7;i++)
cin>>s[i];
cin>>x>>y;
if(x>n) n=x;
if(y>n) n=y;
cin>>c;
int xt,yt,st;
for(i=1;i<=c;i++)
...{
cin>>xt>>yt>>st;
if(xt>n) n=xt;
if(yt>n) n=yt;
if(s[st]==1)
...{
a[xt][yt]=a[yt][xt]=h[st]/2;
}
else
...{
a[xt][yt]=a[yt][xt]=h[st];
}
}
}
void shorest()
...{
int i,j,k;
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][k]+a[k][j]<a[i][j])
a[i][j]=a[i][k]+a[k][j];
}
int main()
...{
// freopen("fjnu_1441.in","r",stdin);
init();
input();
shorest();
cout<<a[x][y]<<endl;
return 0;
}
- fjnu 1441 哈利.波特与魔法石
- 哈利波特1 魔法石
- 哈利波特4 哈利波特与火焰杯
- 哈利波特5 哈利波特与凤凰社
- 哈利波特与混血王子
- 哈利波特
- 哈利波特与死圣中文版
- 昏昏欲睡看“哈利波特与混血王子”
- 哈利波特VS指环王
- 哈利波特系列读后感
- 《哈利波特》学院
- 《哈利波特》人物
- 《哈利波特》名词
- NYOJ 949 哈利波特
- □ 影片名:《哈利波特与火焰杯.》(103064) 在线播放
- 感觉很失落——哈利波特与凤凰社观后感
- 从哈利•波特现象看应用软件研发与营销
- 细则从哈利·波特与来自您好麻雀船长
- CSS手册简编:列表属性
- 数据交换平台优化
- MySQL入门学习(一)
- 如何用Delphi制作录音程序
- CSS手册简编:文本属性
- fjnu 1441 哈利.波特与魔法石
- 数据库正规化和设计技巧(3)
- java集合框架整理
- 堆栈中的EIP EBP ESP(zz)
- Delphi 程序员代码编写标准指南
- CSS手册简编:字体属性
- LAMP(Linux Apache MySQL PHP)
- fjnu1835 Knight Moves
- 正则表达式(1)(源于MSDN)