一直想不明白 求助
查看原帖
一直想不明白 求助
919235
customr楼主2023/2/9 12:46
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
   int n,k,t;

struct node{
    int x;
    int y;
} a[n+1];
    cin>>n>>k>>t;
    int i,j;
    int b[n+1];
    for(i=1;i<=n;i++){
        b[i]=-1;//所有密码机初始设置为-1.
    }

    int q[n+1];
    for(i=1;i<=n;i++){
        q[i]=0;}

    int c,d;
    int e,f;

    
    for(i=1;i<=n;i++){
        cin>>a[i].x>>a[i].y;
    }

    for(i=1;i<=k;i++){//初始密码机。
    cin>>c>>d;
    int temp=1;
    while(temp<=n){
        if(c==a[temp].x&&d==a[temp].y){
            b[temp]=0;//表明这是初始密码机。
        }temp++;
    }

    }

    for(i=1;i<=t;i++){
        cin>>e>>f;   
        int j=1;
        int maxx=-1000000000;
        int maxj=-1;

        while(j<=n){
        if(b[j]!=-1&&sqrt((e-a[j].x)*(e-a[j].x)+(f-a[j].y)*(f-a[j].y))>maxx){
            maxx=sqrt((e-a[j].x)*(e-a[j].x)+(f-a[j].y)*(f-a[j].y));
            maxj=j;

        }
        j++;
        }
        q[maxj]++;
        }
    long long sum=0;

    for(i=1;i<=n;i++){
        sum+=q[i];
        }
        cout<<sum;
        return 0;
}                                                                                                                                                                               

为什么我这个全是超时

2023/2/9 12:46
加载中...