Submission #1136736

#TimeUsernameProblemLanguageResultExecution timeMemory
1136736fzyzzz_zPort Facility (JOI17_port_facility)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<pair<int, int>> a(n); for (int i = 0; i < n; ++i) { cin >> a[i].first >> a[i].second; } vector<vector<int>> g(n); for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { auto [x1, y1] = a[i]; auto [x2, y2] = a[j]; if (x1 > x2) { swap(x1, x2); swap(y1, y2); } if (x2 < y1 && y1 < y2) { g[i].push_back(j); g[j].push_back(i); } } } vector<int> vis(n, 0); int ans = 0, ok = 1; function<void(int, int)> dfs = [&] (int x, int p) { vis[x] = 1; for (auto y: g[x]) { if (vis[y] && y != p) { ok = 0; return; } if (!vis[y]) { dfs(y, x); } } }; for (int i = 0; i < n; ++i) { if (!vis[i]) { dfs(i, -1); ans++; } } for (int i = 0; i < ans; ++i) { ok = (ok + ok) % 1000000007; } cout << ok << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...