记录编号 |
45286 |
评测结果 |
AAAAAAAAAA |
题目名称 |
找最佳通路 |
最终得分 |
100 |
用户昵称 |
Cloud |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.004 s |
提交时间 |
2012-10-23 09:22:42 |
内存使用 |
3.28 MiB |
显示代码纯文本
#include<fstream>
#include<queue>
using namespace std;
bool map[51][51];
int f[51];
struct yu
{
int a;
int v;
};
queue<yu> dq;
yu tmp;
int main(void)
{
ifstream fin("city.in");
ofstream fout("city.out");
int n,m;
int s,e;
int i,j,k;
fin>>n>>m;
fin>>s>>e;
for(k=0;k<m;k++)
{
fin>>i>>j;
map[i][j]=1;
}
for(k=1;k<=n;k++)
f[k]=~0u>>1;
tmp.a=s;
tmp.v=1;
dq.push(tmp);
while(dq.size())
{
for(i=1;i<=n;i++)
{
tmp=dq.front();
if(map[tmp.a][i])
{
tmp.a=i;
tmp.v++;
if(f[i]>tmp.v)
{
f[i]=tmp.v;
dq.push(tmp);
}
}
}
dq.pop();
}
fout<<f[e];
fin.close();
fout.close();
return 0;
}