记录编号 |
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;
- }