Submission #667581

#TimeUsernameProblemLanguageResultExecution timeMemory
667581mychecksedadRoads (CEOI20_roads)C++17
15 / 100
19 ms1712 KiB
/* Author : Mychecksdead */ #include<bits/stdc++.h> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; typedef long long int ll; typedef long double ld; #define MOD1 (1000000000+7) #define MOD (998244353) #define PI 3.1415926535 #define pb push_back #define setp() cout << setprecision(15) #define all(x) x.begin(), x.end() #define debug(x) cerr << #x << " is " << x << '\n'; const int N = 1e6+100, M = 1e5+10, F = 2147483646, K = 20; struct Point{ ll x, y; Point(){}; Point(ll a, ll b){ x = a, y = b; } }; struct Line{ Point l, r; bool vertic; Line(){}; Line(Point l, Point r){ l = l, r = r; if(l.y < r.y) swap(l, r); if(l.x == r.x){ vertic = 1; }else vertic = 0; } void check(){ if(l.y < r.y) swap(l, r); if(l.x == r.x){ vertic = 1; }else vertic = 0; } bool operator<(Line &other) const{ if(other.l.x != l.x){ return other.l.x > l.x; } return other.l.y > l.y; } bool is(Line &other){ if(vertic | other.vertic){ return (vertic & other.vertic); } if(l.x == other.r.x) return 0; bool ok = 1; double m = (l.y - r.y) / (l.x - r.x); double m1 = (l.y - other.r.y) / (l.x - other.r.x); ok &= m == m1; return ok; } }; int n; Line p[N]; void solve(){ cin >> n; for(int i = 0; i < n; ++i){ cin >> p[i].l.x >> p[i].l.y; cin >> p[i].r.x >> p[i].r.y; p[i].check(); } sort(p, p + n); for(int i = 0; i < n - 1; ++i){ if(!p[i].is(p[i + 1])){ cout << p[i].l.x << ' ' << p[i].l.y << ' ' << p[i + 1].l.x << ' ' << p[i + 1].l.y << '\n'; }else{ cout << p[i].l.x << ' ' << p[i].l.y << ' ' << p[i + 1].r.x << ' ' << p[i + 1].r.y << '\n'; } } } int main(){ cin.tie(0); ios::sync_with_stdio(0); int T = 1, aa; // cin >> T;aa=T; while(T--){ // cout << "Case #" << aa-T << ": "; solve(); cout << '\n'; } return 0; }

Compilation message (stderr)

roads.cpp: In function 'int main()':
roads.cpp:88:16: warning: unused variable 'aa' [-Wunused-variable]
   88 |     int T = 1, aa;
      |                ^~
#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...