1 条题解

  • 1
    @ 2026-4-1 20:06:01
    #include<bits/stdc++.h>
    using namespace std;
    struct Node{
    	long long x,y;
    	long long sum;
    }a[1000005];
    bool cmp(Node a,Node b){
    	if(a.sum==b.sum){
    		if(a.x==b.x)
    			return a.y<b.y;
    		return a.x<b.x;
    	}
    	return a.sum<b.sum;
    }
    signed main(){
        ios::sync_with_stdio(0);
    	cin.tie(nullptr);
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++){                                                   
    		cin>>a[i].x>>a[i].y;
    		a[i].sum=a[i].x*a[i].x+a[i].y*a[i].y;
    	}            
    	sort(a+1,a+n+1,cmp);
    	for(int i=1;i<=n;i++){
    		cout<<a[i].x<<" "<<a[i].y<<"\n"; 
    	}                            
    	return 0;
    }

    信息

    ID
    129
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    7
    已通过
    3
    上传者