Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <unordered_map>
- #include <string>
- #include <vector>
- #include <iostream>
- #include <set>
- #include <queue>
- #include "optimization.h"
- using namespace std;
- int n, m, s;
- double v;
- vector<double> valuts;
- struct obmennik{
- int input;
- int output;
- double RAB;
- double CAB;
- double RBA;
- double CBA;
- };
- vector<obmennik> list;
- void solve(){
- int it = 1;
- int cnt = 1;
- while(it != 0){
- it = 0;
- if (cnt > n){
- cout << "YES\n";
- return;
- }
- for (auto [i, o, RAB, CAB, RBA, CBA] : list){
- if (valuts[i] != 0 && (valuts[i] - CAB) * RAB > valuts[o]){
- valuts[o] = (valuts[i] - CAB) * RAB;
- it = 1;
- }
- if (valuts[o] != 0 && (valuts[o] - CBA) * RBA > valuts[i]){
- valuts[i] = (valuts[o] - CBA) * RBA;
- it = 1;
- }
- }
- if (it == 1){
- cnt++;
- }
- // cout << cnt << ' ';
- }
- cout << "NO\n";
- }
- int main() {
- // int v_1;
- // float v_2;
- // double v_3;
- // cin >> v_1 >> v_2 >>v_3;
- // cout << v_1 << v_2 << v_3;
- cin >> n >> m >> s >> v;
- valuts.resize(n+1, 0);
- valuts[s] = v;
- for (int i = 0; i < m; i++){
- obmennik cur;
- cin >> cur.input >> cur.output >> cur.RAB >> cur.CAB >> cur.RBA >> cur.CBA;
- list.push_back(cur);
- }
- solve();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement