兩個空洞可互達當且僅當兩個空洞相切,即球心距離小於等於球的直徑。
一一枚舉兩個可互達的空洞,並用並查集連起來即可。
code:
#include
#include
using
namespace
std;
const
int maxn = 1000 + 4;
int p[maxn];
int find(int x)
struct point
points[maxn];
inline
double dis(point a,point b)
inline
void join(int a,int b)
int main()
}if(flag == 1)break;
}if(flag)printf("yes\n");
else
printf("no\n");
}return
0;}
洛谷P3958 乳酪 並查集
兩個空洞可互達當且僅當兩個空洞相切,即球心距離小於等於球的直徑。一一枚舉兩個可互達的空洞,並用並查集連起來即可。code include include using namespace std const int maxn 1000 4 int p maxn int find int x struc...
並查集 洛谷P3958 乳酪
給定一些洞,求能否從上面走到下面 若兩個洞相交或相切,則用並查集將它們合併在一起,將頂部和底部當作乙個無窮扁的圓,判斷頂部和底部是否相連即可 include include define r i,a,b for register int i a i b i using namespace std i...
題解 洛谷P3958 乳酪(並查集 搜尋)
想了半天寫了乙個搜尋,不過裡面用到了並查集的思想。結果很顯然我tle了6個點。看了題解之後發現自己傻了。所以就把搜尋去掉,單用並查集解決不就完事兒了qaq include include include include include include define ll long long usin...