Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <fstream>
- #include <math.h>
- int INF = 1000000;
- int main()
- {
- std::ifstream finp;
- finp.open("input.txt");
- int n = 0, a = 0, b = 0, x = 0;
- double c = 0;
- std::vector < std::pair<double, std::pair<int, int>> > e;
- std::vector<double> d;
- std::vector<double> p;
- finp >> n;
- d.resize(n, INF);
- p.resize(n, -1);
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- if (i == j)
- continue;
- finp >> c;
- if(c > 0)
- e.push_back(std::make_pair(c, std::make_pair(i, j)));
- }
- }
- d[0] = 1;
- int fl = 0;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < e.size(); j++)
- {
- if (d[e[j].second.first] < INF)
- {
- if (i == n - 1 && d[e[j].second.second] > d[e[j].second.first] * e[j].first)
- {
- fl = 1;
- break;
- }
- d[e[j].second.second] = std::min(d[e[j].second.second], d[e[j].second.first] * e[j].first);
- }
- }
- if (fl)
- break;
- }
- if (!fl)
- std::cout << "No\n";
- else
- std::cout << "Yes\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment