Submission #577580

#TimeUsernameProblemLanguageResultExecution timeMemory
577580amunduzbaevRoads (CEOI20_roads)C++17
15 / 100
134 ms11092 KiB
#include "bits/stdc++.h" using namespace std; #define ar array typedef int64_t ll; //~ #define double long double signed main(){ ios::sync_with_stdio(0); cin.tie(0); int n; cin>>n; vector<ar<int, 4>> a(n); for(int i=0;i<n;i++){ cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3]; if(a[i][1] < a[i][3]) swap(a[i][0], a[i][2]), swap(a[i][1], a[i][3]); if(a[i][1] == a[i][3]){ if(a[i][0] > a[i][2]) swap(a[i][0], a[i][2]), swap(a[i][1], a[i][3]); } } sort(a.begin(), a.end(), [&](auto& a, auto& b){ if(a[1] != b[1]){ return a[1] > b[1]; } else { return a[0] < b[0]; } }); map<double, ar<int, 2>> mm; for(int i=0;i<n;i++){ double p = a[i][0]; if(a[i][0] != a[i][2]){ double y = a[i][1] - a[i][3], x = a[i][0] - a[i][2]; p = y / x; x = a[i][0], y = a[i][1]; p = y - x * p; } if(mm.count(p)){ cout<<a[i][0]<<" "<<a[i][1]<<" "<<mm[p][0]<<" "<<mm[p][1]<<"\n"; } mm[p] = {a[i][2], a[i][3]}; } ar<int, 2> last {}; int c = 0; for(auto [d, p] : mm){ if(c){ cout<<last[0]<<" "<<last[1]<<" "<<p[0]<<" "<<p[1]<<"\n"; } last = p; c = 1; } }
#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...