답안 #592143

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
592143 2022-07-08T16:24:01 Z jasmin Roads (CEOI20_roads) C++14
0 / 100
1 ms 320 KB
#include<bits/stdc++.h>
using namespace std;
#define int long long

const int inf=1e18;

void subtask2(int n, vector<pair<pair<int,int>, pair<int,int> > >& p){
    sort(p.begin(), p.end());
    pair<int,int> last={-inf, -inf};
    for(int i=0; i<n; i++){
        auto a=p[i].first;
        auto b=p[i].second;

        if(last.first!=-inf){
            cout << last.first << " " << last.second << " " << a.first << " " << a.second << "\n";
        }
        last=b;
    }
}

int length(pair<int,int> a, pair<int,int> b){
    int x1=abs(a.first-b.first);
    int x2=abs(a.second-b.second);
    int square=x1*x1 + x2*x2;

    int l=0; int r=square;
    int ans=0;
    while(l<=r){
        int m=l+(r-l)/2;
        if(m*m<=square){
            ans=m;
            l=m+1;
        }
        else{
            r=m-1;
        }
    }
    return ans;
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n;
    cin >> n;
    vector<pair<pair<int,int>, pair<int,int> > >p(n);
    bool s2=true;
    for(int i=0; i<n; i++){
        cin >> p[i].first.first >> p[i].first.second;
        cin >> p[i].second.first >> p[i].second.second;
        if(p[i].first>p[i].second){
            swap(p[i].first, p[i].second);
        }

        if(p[i].first.first!=p[i].second.first) s2=false;
    }

    if(s2){
        subtask2(n, p);
    }

    for(int i=0; i<n; i++){
        pair<int,int> a=p[i].first;
        pair<int,int> b=p[i].second;

        int l=length(a, b);
        pair<int,int> neu;
        neu.first=a.first;
        neu.second=a.second+length(a, b);

        p[i].second=neu;
    }
    subtask2(n, p);
}

Compilation message

roads.cpp: In function 'int main()':
roads.cpp:67:13: warning: unused variable 'l' [-Wunused-variable]
   67 |         int l=length(a, b);
      |             ^
# 결과 실행 시간 메모리 Grader output
1 Failed 0 ms 212 KB Condition failed: "iA != P2I.end()"
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Expected EOF
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Expected EOF
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Expected EOF
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Failed 0 ms 212 KB Condition failed: "iA != P2I.end()"
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Failed 0 ms 320 KB Condition failed: "iA != P2I.end()"
2 Halted 0 ms 0 KB -