• rwkj 1482


    //1482
    #include <iostream>
    #include <cmath>
    using namespace std;
    int n,d;
    struct point
    {
    int x,y,z,t;
    }a[1005];

    int find(int x )
    {
    if(a[x].z==x) return x;
    else return a[x].z=find(a[x].z);
    }
    void jie(int x,int y)
    {
    int aa=find(x),bb=find(y);
    if(aa!=bb) a[aa].z=bb;
    }
    int dis(int i,int j)
    {
    return sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y))<=d;
    }
    int main()
    {
    int i,j;
    char c;
    cin>>n>>d;
    for(i=1;i<=n;i++)
    {
    cin>>a[i].x>>a[i].y;
    a[i].z=i; a[i].t=0;
    }
    while(cin>>c)
    {
    if(c=='O')
    {
    cin>>i,a[i].t=1;
    for(j=1;j<=n;j++)
    if(a[j].t==1&&j!=i&&dis(i,j))
    {jie(i,j);break;}
    for(i=1;i<=n;i++)
    for(j=i+1;j<=n;j++)
    if(a[j].t==1&&a[i].t==1&&dis(i,j))
    jie(i,j);
    }
    if(c=='S')
    { // for(i=1;i<=n;i++)
    //cout<<"ceshi:"<<endl<<i<<":"<<a[i].z<<endl;
    cin>>i>>j;
    if(find(i)==find(j)) cout<<"SUCCESS"<<endl;
    else cout<<"FAIL"<<endl;
    }
    }
    return 0;
    }

  • 相关阅读:
    Ethical Hacking
    Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    食物链 POJ
    Wireless Network POJ
    Candies POJ
    畅通工程再续 HDU
    Jungle Roads HDU
  • 原文地址:https://www.cnblogs.com/2014acm/p/3903299.html
Copyright © 2020-2023  润新知