2 条题解

  • 1
    @ 2026-4-1 20:35:20
    #include<bits/stdc++.h>
    using namespace std;
    struct ikun{
    	int x,y;	
    	int sum,id;
    }a[10005];
    bool cmp(ikun a,ikun b){
    	if(a.sum==b.sum){
    		return a.id<b.id;
    	}
    	return a.sum<b.sum;       
    }
    int main(){
    	int t,x,y;
    	cin>>t>>x>>y;
    	for(int i=1;i<=t;i++){
    		cin>>a[i].x>>a[i].y;
    		a[i].id=i; 
    	}
    	for(int i=1;i<=t;i++){
    		a[i].sum=(x-a[i].x)*(x-a[i].x)+(y-a[i].y)*(y-a[i].y); 
    	}	
    	sort(a+1,a+t+1,cmp);
    	for(int i=1;i<=3;i++){
    		cout<<a[i].id<<"\n";
    	}
    	return 0;
    }
    • 0
      @ 2026-8-27 17:32:59
      #593. 称检测点查询 
      import sys
      input=sys.stdin.readline
      n,X,Y=map(int,input().split())
      a=[]
      i=1
      for _ in range(n):
      	xi,yi=map(int,input().split())
      	a.append((xi,yi,i))
      	i+=1
      
      a.sort(key=lambda p : ((p[0]-X)**2 )+ ((p[1]-Y)**2))
      print(f"{a[0][2]}\n{a[1][2]}\n{a[2][2]}")
      
      • 1

      信息

      ID
      593
      时间
      1000ms
      内存
      256MiB
      难度
      入门
      标签
      递交数
      443
      已通过
      187
      上传者