Advertisement
kolbka_

Untitled

Mar 9th, 2022
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1.  
  2.  
  3.  
  4. #include <unordered_map>
  5. #include <string>
  6. #include <vector>
  7. #include <iostream>
  8. #include <set>
  9. #include <queue>
  10. #include "optimization.h"
  11.  
  12. using namespace std;
  13. int n, m, s;
  14. double v;
  15. vector<double> valuts;
  16. struct obmennik{
  17.     int input;
  18.     int output;
  19.     double RAB;
  20.     double CAB;
  21.     double RBA;
  22.     double CBA;
  23. };
  24. vector<obmennik> list;
  25.  
  26. void solve(){
  27.     int it = 1;
  28.     int cnt = 1;
  29.     while(it != 0){
  30.         it = 0;
  31.         if (cnt > n){
  32.             cout << "YES\n";
  33.             return;
  34.         }
  35.         for (auto [i, o, RAB, CAB, RBA, CBA] : list){
  36.             if (valuts[i] != 0 && (valuts[i] - CAB) * RAB > valuts[o]){
  37.                 valuts[o] = (valuts[i] - CAB) * RAB;
  38.                 it = 1;
  39.             }
  40.             if (valuts[o] != 0 && (valuts[o] - CBA) * RBA > valuts[i]){
  41.                 valuts[i] = (valuts[o] - CBA) * RBA;
  42.                 it = 1;
  43.             }
  44.         }
  45.         if (it == 1){
  46.             cnt++;
  47.         }
  48. //        cout << cnt << ' ';
  49.     }
  50.     cout << "NO\n";
  51. }
  52.  
  53. int main() {
  54. //    int v_1;
  55. //    float v_2;
  56. //    double v_3;
  57. //    cin >> v_1 >> v_2 >>v_3;
  58. //    cout << v_1 << v_2 << v_3;
  59.     cin >> n >> m >>    s >> v;
  60.     valuts.resize(n+1, 0);
  61.     valuts[s] = v;
  62.     for (int i = 0; i < m; i++){
  63.         obmennik cur;
  64.         cin >> cur.input >> cur.output >> cur.RAB >> cur.CAB >> cur.RBA >> cur.CBA;
  65.         list.push_back(cur);
  66.     }
  67.     solve();
  68. }
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement