fork(1) download
  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. #define val 110
  5. int status[val];
  6. #define infinity 99999999
  7. int n,r,s,d,t;
  8. int dist[val][val];
  9. using namespace std;
  10. int max(int a,int b)
  11. {
  12. return a>b?a:b;
  13. }
  14. int min(int a,int b)
  15. {
  16. return a>b?b:a;
  17. }
  18.  
  19. void reset_dist()
  20. {
  21. for(int i=1;i<=n;i++)
  22. {
  23. for(int j=1;j<=n;j++)
  24. {
  25. dist[i][j]=0;
  26. }
  27. }
  28. }
  29. void maximin_path()
  30. {
  31.  
  32. for (int k=1; k<=n; k++)
  33. for (int i=1; i<=n; i++)
  34. for (int j=1; j<=n; j++)
  35. dist[i][j] = max(dist[i][j], min(dist[i][k], dist[k][j]));
  36. }
  37. int main()
  38. {
  39. int v1,v2,wt,m;
  40. int tst=0;
  41. while(cin>>n>>r)
  42. {
  43. if((n==0)&&(r==0))
  44. break;
  45. reset_dist();
  46. tst++;
  47. for(int i=1;i<=r;i++)
  48. {
  49. cin>>v1>>v2>>wt;
  50. dist[v1][v2]=wt;
  51. dist[v2][v1]=wt;
  52.  
  53. }
  54. maximin_path();
  55. cin>>s>>t>>d;
  56. if(d==0)
  57. {
  58. m=0;
  59. }
  60. if((s!=t)&&(d!=0))
  61. {
  62. int p=(dist[s][t]-1);
  63. if(d%p==0)
  64. {
  65. m=d/p;
  66. }
  67. else
  68. {
  69. m=(d/p)+1;
  70. }
  71. }
  72. if((s==t)&&(d!=0))
  73. {
  74. m=1;
  75. }
  76. cout<<"Scenario #"<<tst<<"\n";
  77. cout<<"Minimum Number of Trips = "<<m<<"\n";
  78. cout<<"\n";
  79. }
  80. return 0;
  81. }
  82.  
Success #stdin #stdout 0s 3392KB
stdin
7 10
1 2 30
1 3 15
1 4 10
2 4 25
2 5 60
3 4 40
3 6 20
4 7 35
5 7 20
6 7 30
1 7 0
5 6
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
1 1 100
5 6
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
1 5 100
5 7
1 4 10
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
1 5 100
5 6
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
5 2 25
5 6
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
2 2 9
5 6
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
3 3 1
5 7
1 4 10
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
1 5 2
5 6
2 4 45
1 2 35
1 3 19
2 5 96
3 5 28
2 3 17
5 2 88
0 0
stdout
Scenario #1
Minimum Number of Trips = 0

Scenario #2
Minimum Number of Trips = 1

Scenario #3
Minimum Number of Trips = 3

Scenario #4
Minimum Number of Trips = 3

Scenario #5
Minimum Number of Trips = 1

Scenario #6
Minimum Number of Trips = 1

Scenario #7
Minimum Number of Trips = 1

Scenario #8
Minimum Number of Trips = 1

Scenario #9
Minimum Number of Trips = 1