为什么60分啊???
查看原帖
为什么60分啊???
681558
Weizhuo_Zhao楼主2023/7/24 21:33
#include<bits/stdc++.h>
using namespace std;
int n,k,t;
struct node{
    int x,y;
    bool born;
}mac[1010];
double distance(int x1,int y1,int x2,int y2){
    return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main(){
    cin>>n>>k>>t;
    for(int i=0;i<n;i++){
        cin>>mac[i].x>>mac[i].y;
        mac[i].born=false;
    }
    for(int j=0;j<k;j++){
        int x,y;
        cin>>x>>y;
        for(int i=0;i<n;i++){
            if(mac[i].x==x and mac[i].y==y){
                mac[i].born=true;
                break;
            }
        }
    }
    int ans=0;
    for(int j=0;j<t;j++){
        int x,y;
        cin>>x,y;
        int len=0;
        double maxdist=-999;
        for(int i=0;i<n;i++){
            if(distance(x,y,mac[i].x,mac[i].y)>maxdist){
                maxdist=distance(x,y,mac[i].x,mac[i].y);
                len=i;
                //cout<<len<<' ';
            }
        }
        if(mac[len].born){
            ans++;
        }
    }
    /*for(int i=0;i<n;i++){
        cout<<mac[i].x<<' '<<mac[i].y<<"\n";
    }*/
    cout<<ans;
    return 0;
}
2023/7/24 21:33
加载中...