| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 791584 | peteza | Roads (CEOI20_roads) | C++14 | 27 ms | 1324 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int n, xx1, yy1, xx2, yy2;
using pii = pair<int, int>;
struct line {
pii a, b;
line(int ax, int ay, int bx, int by){a={ax,ay};b={bx,by};}
double gety() {
if(a.first == b.first) return -a.first;
return a.second - a.first*(1.00*b.second-a.second)/(b.first-a.first);
}
};
vector<line> lns;
ostream& operator<<(ostream& os, pii a) {
os << a.first << ' ' << a.second;
return os;
}
int main() {
cin >> n;
for(int i=0;i<n;i++) {
cin >> xx1 >> yy1 >> xx2 >> yy2;
if(xx1 == xx2) {
if(yy1 > yy2) swap(yy1, yy2);
} else {
if(xx1 > xx2) swap(xx1, xx2);
}
lns.emplace_back(xx1, yy1, xx2, yy2);
}
sort(lns.begin(), lns.end(), [](line a, line b){
if(abs(a.gety()-b.gety())>=1e-9) return a.gety() > b.gety();
return a.a < b.a;
});
for(int i=1;i<lns.size();i++) cout << lns[i-1].b << ' ' << lns[i].a << '\n';
}Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
