记录编号 45286 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 GravatarCloud 是否通过 通过
代码语言 C++ 运行时间 0.004 s
提交时间 2012-10-23 09:22:42 内存使用 3.28 MiB
显示代码纯文本
  1. #include<fstream>
  2. #include<queue>
  3. using namespace std;
  4. bool map[51][51];
  5. int f[51];
  6. struct yu
  7. {
  8. int a;
  9. int v;
  10. };
  11. queue<yu> dq;
  12. yu tmp;
  13. int main(void)
  14. {
  15. ifstream fin("city.in");
  16. ofstream fout("city.out");
  17. int n,m;
  18. int s,e;
  19. int i,j,k;
  20. fin>>n>>m;
  21. fin>>s>>e;
  22. for(k=0;k<m;k++)
  23. {
  24. fin>>i>>j;
  25. map[i][j]=1;
  26. }
  27. for(k=1;k<=n;k++)
  28. f[k]=~0u>>1;
  29. tmp.a=s;
  30. tmp.v=1;
  31. dq.push(tmp);
  32. while(dq.size())
  33. {
  34. for(i=1;i<=n;i++)
  35. {
  36. tmp=dq.front();
  37. if(map[tmp.a][i])
  38. {
  39. tmp.a=i;
  40. tmp.v++;
  41. if(f[i]>tmp.v)
  42. {
  43. f[i]=tmp.v;
  44. dq.push(tmp);
  45. }
  46. }
  47. }
  48. dq.pop();
  49. }
  50. fout<<f[e];
  51. fin.close();
  52. fout.close();
  53. return 0;
  54. }