제출 #572089

#제출 시각아이디문제언어결과실행 시간메모리
572089piOOETriangles (CEOI18_tri)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> #include "trilib.h" using namespace std; #define sz(x) ((int)size(x)) #define all(x) begin(x), end(x) #define trace(x) cout << #x << ": " << (x) << endl; typedef long long ll; mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count()); int rand(int l, int r) { return (int) ((ll) rnd() % (r - l + 1)) + l; } const int N = 40000; const ll infL = 3e18; int n; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); n = get_n(); multiset<int> st; int cnt = 0; for (int s = 0; s < n; ++s) { //pseudo Jarvis algorithm int p0 = s, pi = s; int k = 0; vector<bool> used(n); vector<int> p(n, -1); do { used[p0] = true; pi = -1; for (int i = 0; i < n; ++i) { if (p0 != i && pi != -1 && !used[i]) { assert(cnt < 1000000); ++cnt; if (is_clockwise(p0 + 1, pi + 1, i + 1)) pi = i; } else if (p0 != i) { pi = i; } } p[pi] = p0; p0 = pi; } while (!used[pi]); do { ++k; pi = p[pi]; } while (pi != p0); give_answer(k); return 0; } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...