首页 > 其他分享 >P3958 [NOIP2017 提高组] 奶酪

P3958 [NOIP2017 提高组] 奶酪

时间:2024-02-15 21:24:55浏览次数:41  
标签:NOIP2017 return int 奶酪 fa P3958 hole now finds

原题链接

思路

并查集
然后看看是否存在上表面联通的洞与下表面联通的洞位于同一集合

code

#include<bits/stdc++.h>
using namespace std;
double n,h,r;
int fa[1005];
vector<int> up,down;
struct
{
    double x,y,z;
}hole[1005];

double dis(int i,int j)
{
    return pow(hole[i].x-hole[j].x,2)+pow(hole[i].y-hole[j].y,2)+pow(hole[i].z-hole[j].z,2);
}

int finds(int now)
{
    return fa[now]=((now==fa[now])?now:finds(fa[now]));
}

int check()
{
    for(auto i: up)
        for(auto j: down)
            if(finds(i)==finds(j))return 1;
    return 0;
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        cin>>n>>h>>r;
        for(int i=1;i<=n;i++)
        {
            fa[i]=i;
            cin>>hole[i].x>>hole[i].y>>hole[i].z;
            if(hole[i].z+r>=h)up.push_back(i);
            if(hole[i].z-r<=0)down.push_back(i);
        }

        for(int i=1;i<=n;i++)
            for(int j=i+1;j<=n;j++)
                if(dis(i,j)<=r*4*r) fa[finds(i)]=finds(fa[j]);//合并集合


        if(check())puts("Yes");
        else puts("No");
        up.clear();
        down.clear();
    }
    return 0;
}

标签:NOIP2017,return,int,奶酪,fa,P3958,hole,now,finds
From: https://www.cnblogs.com/pure4knowledge/p/18016609

相关文章

  • P3957 [NOIP2017 普及组] 跳房子
    50分代码1//P3957[NOIP2017普及组]跳房子2#include<iostream>3#include<queue>4#include<cstring>5#include<cmath>6usingnamespacestd;7typedeflonglongll;8intn,d,k;9inta[500010][2];10llf[500010],sum=0;11boo......
  • P3953 [NOIP2017 提高组] 逛公园
    Description策策同学特别喜欢逛公园。公园可以看成一张\(N\)个点\(M\)条边构成的有向图,且没有自环和重边。其中\(1\)号点是公园的入口,\(N\)号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花的时间。策策每天都会去逛公园,他总是从\(1\)号点进去,从\(N\)......
  • P3956 [NOIP2017 普及组] 棋盘
    传送门P3956[NOIP2017普及组]棋盘不清楚曾师为什么把这个神奇的题目放在搜索\(search\)专栏,反正我用\(dijkstra\)水过去了,虽然\(dijkstra\)严格来说也是一种能够解决一般性最短路问题的算法。然后考虑这道题的建图。这道题来看首先是去除魔法的部分,一般地,任意一个点只......
  • 典型二分:杰瑞吃奶酪
    题目描述:某一天,老鼠杰瑞抓住了一个机会,成功的到达了冰箱的附近,正当杰瑞打开冰箱门,想要享受美味的奶酪的时候,没想到冰箱里的奶酪太多了,奶酪洒了一地。汤姆猫听到了这个动静,正在火速赶往冰箱想要抓住杰瑞。杰瑞凭借与汤姆多年对抗的经历,仅凭借汤姆的脚步声便能推断汤姆还有多久抵达......
  • NOIP2017提高组初赛易错题解析
     8.由四个不同的点构成的简单无向连通图的个数是()A.32 B.35 C.38 D.41错误原因:数重了正解:分情况计算,6条边的有1种,5条边的有C(6,1)=6种,4条边的有C(6,4)=15种,3条边,要分度数,2+2+1+1的有12种,3+1+1+1的有4种,共38种 10.若 f0​=0,f1​=1,fn+1​=(fn​+fn−1)/2​​,则随着......
  • 「NOIP2017 普及组」棋盘 题解
    前言一个绿题,风光啊QwQ题面传送门思路怎么走我们定义一个函数dfs(x,y,coin,can,color)x,y表示坐标,coin表示当前的金币数量,color表示当前坐标的颜色,can表示当前是否能施展魔法。再加一个mp数组记录颜色,-1表示无颜色,0表示红色,1表示黄色为什么不直接使用mp[x][y]获取颜......
  • NOIP2014 D2T1 奶酪
    NOIP2014奶酪题面:NOIP2014提高组D2T1现有一块大奶酪,它的高度为\(h\),它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中,奶酪的下表面为\(z=0\),奶酪的上表面为\(z=h\)。现在,奶酪的下表面有一只小......
  • 【题解】[NOIP2017 提高组] 逛公园
    题目描述:策策同学特别喜欢逛公园。公园可以看成一张\(N\)个点\(M\)条边构成的有向图,且没有自环和重边。其中\(1\)号点是公园的入口,\(N\)号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花的时间。策策每天都会去逛公园,他总是从\(1\)号点进去,从\(N\)号......
  • 2611. 老鼠和奶酪
    title:2611.老鼠和奶酪tags:-LeetCode-贪心-排序2023年6月7日23:18:51目录2611.老鼠和奶酪-力扣(LeetCode)Solution2611.老鼠和奶酪-力扣(LeetCode)有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。下标为i 处的奶酪被吃掉的得分为:......
  • Leetcode 2611. 老鼠和奶酪
    题目:有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。下标为i 处的奶酪被吃掉的得分为:如果第一只老鼠吃掉,则得分为 reward1[i] 。如果第二只老鼠吃掉,则得分为 reward2[i] 。给你一个正整数数组 reward1 ,一个正整数数组 reward2 ,和一个非负整......