Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <set>
- #include <map>
- #include <deque>
- #include <cmath>
- #include <queue>
- #include <time.h>
- #include <string>
- #include <cstdio>
- #include <vector>
- #include <cstdlib>
- #include <iostream>
- #include <algorithm>
- //++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++
- #define endl '\n'
- #define po pop_back()
- #define pbc push_back
- #define queuel queue<long long>
- #define all(x) x.begin(),x.end()
- #define matrix vector<vector<ll>>
- #define pin(p) cin >> p.first >> p.second;
- #define rev(v) reverse(v.begin(),v.end());
- #define mx(v) max_element(v.begin(), v.end());
- #define mn(v) min_element(v.begin(), v.end());
- #define pout(p) cout << p.first << " " << p.second;
- #define er(v, l, r) erase(v.begin() + l, v.begin() + r);
- #define vin(v) for(int i = 0; i < v.size(); ++i) cin >> v[i];
- #define vout(v,c) for(int i = 0; i < v.size(); ++i) cout << v[i]<<c;
- #define push(v, a) for(int i = 0; i < a.size(); ++i) v.push_back(a[i]);
- #define fastio() ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);srand(time(NULL));
- //++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++
- using namespace std;
- //++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++
- typedef long long ll;
- typedef long double ld;
- typedef unsigned long long ull;
- //++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++
- const ll INF = 1000LL * 1000 * 1000 * 1000 * 1000 * 1000;
- const int inf = 1000 * 1000 * 1000;
- const ld PI = acos(-1.0);
- const int mod = inf + 7;
- const ld EPS = 1e-9;
- //++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++--++
- vector<string> noocean{ "Mongolia", "Nepal", "Bhutan", "Laos","Kyrgyzstan", "Afghanistan","Tajikistan", "Jordan", "Armenia", "Uzbekistan","Kazakhstan","Turkmenistan","Azerbaijan" };
- int main()
- {
- fastio();
- freopen("Probabilities.txt", "r", stdin);
- double mx = 0;
- vector<pair<string, double>> sts;
- map<string, double> vari;
- for (int i = 0; i < 45; ++i)
- {
- string s;
- cin >> s;
- double a;
- cin >> a;
- mx = max(mx, a);
- sts.pbc({ s,a });
- vari[s] = a;
- }
- map<string, vector<string>> g;
- g["Nepal"].pbc("China");
- g["Nepal"].pbc("India");
- g["India"].pbc("Nepal");
- g["China"].pbc("Nepal");
- g["India"].pbc("Bangladesh");
- g["Bangladesh"].pbc("India");
- g["India"].pbc("Myanmar");
- g["Myanmar"].pbc("India");
- g["Bangladesh"].pbc("Myanmar");
- g["Myanmar"].pbc("Bangladesh");
- g["Kuwait"].pbc("Iraq");
- g["Iraq"].pbc("Kuwait");
- g["Malaysia"].pbc("Thailand");
- g["Indonesia"].pbc("Malaysia");
- g["Thailand"].pbc("Malaysia");
- g["Malaysia"].pbc("Indonesia");
- g["Cambodja"].pbc("Thailand");
- g["Thailand"].pbc("Cambodja");
- g["Vietnam"].pbc("Cambodja");
- g["Cambodja"].pbc("Vietnam");
- g["Vietnam"].pbc("China");
- g["China"].pbc("Vietnam");
- g["Singapore"].pbc("Malaysia");
- g["Malaysia"].pbc("Singapore");
- g["Korea"].pbc("DPRK");
- g["DPRK"].pbc("Korea");
- g["China"].pbc("Mongolia");
- g["Mongolia"].pbc("China");
- g["China"].pbc("DPRK");
- g["DPRK"].pbc("China");
- g["Laos"].pbc("Vietnam");
- g["Vietnam"].pbc("Laos");
- g["Cambodja"].pbc("Laos");
- g["Laos"].pbc("Cambodja");
- g["Laos"].pbc("Thailand");
- g["Thailand"].pbc("Laos");
- g["Laos"].pbc("Myanmar");
- g["Myanmar"].pbc("Laos");
- g["Bhutan"].pbc("China");
- g["China"].pbc("Bhutan");
- g["Bhutan"].pbc("India");
- g["India"].pbc("Bhutan");
- g["Afghanistan"].pbc("China");
- g["China"].pbc("Afghanistan");
- g["Pakistan"].pbc("India");
- g["Pakistan"].pbc("Iran");
- g["Pakistan"].pbc("Afghanistan");
- g["India"].pbc("Pakistan");
- g["Iran"].pbc("Pakistan");
- g["Afghanistan"].pbc("Pakistan");
- g["China"].pbc("Kazakhstan");
- g["Kazakhstan"].pbc("China");
- g["Mongolia"].pbc("Kazakhstan");
- g["Kazakhstan"].pbc("Mongolia");
- g["Kazakhstan"].pbc("Uzbekistan");
- g["Uzbekistan"].pbc("Kazakhstan");
- g["Yemen"].pbc("Oman");
- g["Oman"].pbc("Yemen");
- g["Saudi-Arabia"].pbc("Yemen");
- g["Yemen"].pbc("Saudi-Arabia");
- g["Oman"].pbc("United-Arab-Emirates");
- g["United-Arab-Emirates"].pbc("Oman");
- g["Oman"].pbc("Saudi-Arabia");
- g["Saudi-Arabia"].pbc("Oman");
- g["United-Arab-Emirates"].pbc("Saudi-Arabia");
- g["Saudi-Arabia"].pbc("United-Arab-Emirates");
- g["Saudi-Arabia"].pbc("Qatar");
- g["Qatar"].pbc("Saudi-Arabia");
- g["Kuwait"].pbc("Iraq");
- g["Kuwait"].pbc("Saudi-Arabia");
- g["Saudi-Arabia"].pbc("Kuwait");
- g["Iraq"].pbc("Kuwait");
- g["Tajikistan"].pbc("Uzbekistan");
- g["Uzbekistan"].pbc("Tajikistan");
- g["Turkmenistan"].pbc("Uzbekistan");
- g["Uzbekistan"].pbc("Turkmenistan");
- g["Kazakhstan"].pbc("Turkmenistan");
- g["Turkmenistan"].pbc("Kazakhstan");
- g["Turkmenistan"].pbc("Iran");
- g["Iran"].pbc("Turkmenistan");
- g["Iraq"].pbc("Iran");
- g["Iran"].pbc("Iraq");
- g["Kyrgyzstan"].pbc("China");
- g["Kyrgyzstan"].pbc("Kazakhstan");
- g["Kyrgyzstan"].pbc("Uzbekistan");
- g["Kyrgyzstan"].pbc("Tajikistan");
- g["China"].pbc("Kyrgyzstan");
- g["Kazakhstan"].pbc("Kyrgyzstan");
- g["Uzbekistan"].pbc("Kyrgyzstan");
- g["Tajikistan"].pbc("Kyrgyzstan");
- g["Georgia"].pbc("Turkey");
- g["Turkey"].pbc("Georgia");
- g["Georgia"].pbc("Armenia");
- g["Armenia"].pbc("Georgia");
- g["Georgia"].pbc("Azerbaijan");
- g["Azerbaijan"].pbc("Georgia");
- g["Armenia"].pbc("Azerbaijan");
- g["Azerbaijan"].pbc("Armenia");
- g["Azerbaijan"].pbc("Turkey");
- g["Turkey"].pbc("Azerbaijan");
- g["Syria"].pbc("Lebanon");
- g["Lebanon"].pbc("Syria");
- g["Syria"].pbc("Turkey");
- g["Turkey"].pbc("Syria");
- g["Syria"].pbc("Jordan");
- g["Jordan"].pbc("Syria");
- g["Syria"].pbc("Israel");
- g["Israel"].pbc("Syria");
- g["Palestine"].pbc("Israel");
- g["Israel"].pbc("Palestine");
- g["Azerbaijan"].pbc("Iran");
- g["Iran"].pbc("Azerbaijan");
- g["Armenia"].pbc("Iran");
- g["Iran"].pbc("Armenia");
- g["Lebanon"].pbc("Israel");
- g["Israel"].pbc("Lebanon");
- g["Lebanon"].pbc("Jordan");
- g["Jordan"].pbc("Lebanon");
- for (auto i : vari)
- {
- if (find(noocean.begin(), noocean.end(), i.first) != noocean.end())
- {
- continue;
- }
- g["Ocean"].pbc(i.first);
- g[i.first].pbc("Ocean");
- }
- vari["Ocean"] = 0.447;
- for (auto i : vari)
- {
- if (i.first == "Ocean")
- {
- continue;
- }
- string s = i.first;
- map<string, double> d;
- for (auto j : vari)
- {
- d[j.first] = 42.9999;
- }
- d[s] = 0;
- set<pair<double, string>> q;
- q.insert({ d[s],s });
- while (!q.empty())
- {
- string v = q.begin()->second;
- q.erase(q.begin());
- for (int j = 0; j < g[v].size(); ++j)
- {
- string to = g[v][j];
- double len = 1 - (1 - d[v])*(1 - vari[to]);
- if (len < d[to])
- {
- q.erase({ d[to],to });
- d[to] = len;
- q.insert({ d[to],to });
- }
- }
- }
- double maxd = 0;
- for (auto j : d)
- {
- if (j.first == "Ocean")
- {
- continue;
- }
- maxd = max(maxd, j.second);
- }
- if (maxd<=0.5)
- {
- cout << i.first << endl;
- }
- }while (1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement