洛谷3958 noip2017 奶酪

题目:奶酪


思路:并查集。


注意:一定要开long long,考场上就是这里挂了两个点。


代码:

#include
using namespace std;

#define ll long long

struct Hole{
    ll x,y,z;
    Hole(){}
    Hole(ll xx,ll yy,ll zz){
        x=xx,y=yy,z=zz;
    }
};

ll n,h,r;
Hole a[1005];
ll fa[1005]={0};

void init(){
    for(ll i=1;i<=n;i++) fa[i]=i;
}

ll find(ll x){
    if(fa[x]==x) return x;
    return fa[x]=find(fa[x]);
}

void Make(ll m,Hole s){
    for(ll i=1;i=h&&a[x].z-r<=h) return true;
    return false;
}

bool checkDown(ll x){
    if(a[x].z+r>=0&&a[x].z-r<=0) return true;
    return false;
}

bool Check(){
    vector vec1,vec2;
    for(ll i=1;i<=n;i++){
        find(i);
        if(checkUp(i)) vec1.push_back(i);
        if(checkDown(i)) vec2.push_back(i);
    }
    for(ll i=0;i

你可能感兴趣的:(数据结构)