提交记录 15037


用户 题目 状态 得分 用时 内存 语言 代码长度
suiqingying noip17d. 【NOIP2017】奶酪 Runtime Error 0 37.09 us 48 KB C++ 1.17 KB
提交时间 评测时间
2020-11-18 19:13:43 2020-11-18 19:13:47
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int read()
{
	int x = 0, f = 1;
	char c = getchar();
	while(!isdigit(c))
	{
		if(c == '-')
		{
			f = -1;
		}
		c = getchar();
	}
	while(isdigit(c))
	{
		x = x * 10 + c - 48;
		c = getchar();
	}
	return x * f;
}
const int maxn = 1010;
int fa[maxn];
int get(int x)
{
	return fa[x] == x ? x : fa[x] = get(fa[x]);
}
int merge(int x, int y)
{
	x = get(x), y = get(y);
	fa[y] = x;
}
long long x[maxn], y[maxn], z[maxn];
long long sqr(long long x)
{
	return x * x;
}
long long dis(int a, int b)
{
	return sqr(x[a] - x[b]) + sqr(y[a] - y[b]) + sqr(z[a] - z[b]);
}
int main()
{
	int T = read();
	while(T--)
	{
		int n = read();
		long long h = read(), r = read();
		for (int i = 1; i <= n + 2; ++i)
		{
			fa[i] = i;
		}
		for (int i = 1; i <= n; ++i)
		{
			x[i] = read(), y[i] = read(), z[i] = read();
			if(z[i] <= r)
			{
				merge(i, n + 1);
			}
			if(z[i] + r >= h)
			{
				merge(i, n + 2);
			}
			for (int j = 1; j < i; ++j)
			{
				if(dis(i, j) <= 4 * r * r)
				{
					merge(i, j);
				}
			}
		}
		if(get(n + 1) == get(n + 2))
		{
			puts("Yes");
		}
		else
		{
			puts("No");
		}
	}
	return 0;
 } 

CompilationN/AN/ACompile OKScore: N/A

Testcase #134.59 us48 KBRuntime ErrorScore: 0

Testcase #236.61 us48 KBRuntime ErrorScore: 0

Testcase #337.09 us48 KBRuntime ErrorScore: 0

Testcase #432.86 us48 KBRuntime ErrorScore: 0

Testcase #535.96 us48 KBRuntime ErrorScore: 0

Testcase #631.77 us48 KBRuntime ErrorScore: 0

Testcase #731.72 us48 KBRuntime ErrorScore: 0

Testcase #834.99 us48 KBRuntime ErrorScore: 0

Testcase #931.22 us48 KBRuntime ErrorScore: 0

Testcase #1030.73 us48 KBRuntime ErrorScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-21 12:30:24 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠