Submission #1233006

#TimeUsernameProblemLanguageResultExecution timeMemory
1233006LaMatematica14Roads (CEOI20_roads)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; vector<array<int, 4>> lines(N); for (int i = 0; i < N; i++) { cin >> lines[i][0] >> lines[i][1] >> lines[i][2] >> lines[i][3]; if (lines[i][1] > lines[i][3]) { swap(lines[i][0], lines[i][2]); swap(lines[i][1], lines[i][3]); } } pair<int, int> dir; dir = {lines[0][2]-lines[0][0], lines[0][3]-lines[0][1]}; pair<int, int> perp {dir.second, -dir.first}; auto r = [&] (array<int, 4> &a) -> array<int,4> { array<int, 4> fa; fa[0] = dir.first*a[0]-dir.second*a[1]; fa[1] = perp.first*a[0]-perp.second*a[1]; fa[2] = dir.first*a[2]-dir.second*a[3]; fa[3] = perp.first*a[2]-perp.second*a[3]; return fa; }; sort(lines.begin(), lines.end(), [&](array<int, 4> &a, array<int, 4> &b) { array<int, 4> fa = r(a), fb = r(b); return fa < fb; }); for (int i = 0; i < N-1; i++) { cout << lines[i][2] << " " << lines[i][3] << " " << lines[i+1][0] << " " << lines[i+1][1] << "\n"; } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...