답안 #334607

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
334607 2020-12-09T14:58:07 Z GioChkhaidze Odašiljači (COCI20_odasiljaci) C++14
42 / 70
812 ms 4500 KB
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
using namespace std;
const int N=1e3+1;
int n,x[N],y[N],cnt;
bool f[N];
vector < int > v[N];

void Dfs(int x) {
	++cnt;
	f[x]=true;
	for (int i=0; i<v[x].size(); i++) {
		if (!f[v[x][i]]) Dfs(v[x][i]);
	}
}

bool check(double d) {
	cnt=0;
	for (int i=1; i<=n; i++) {
		v[i].clear();
		f[i]=0;
	}
	
	for (int i=1; i<=n; i++)
		for (int j=1; j<i; j++)
			if (d*d>=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]))
				v[i].pb(j),v[j].pb(i);
	
	Dfs(1);
	return (cnt==n);
}

main () {
	cin>>n;
	for (int i=1; i<=n; i++) {
		cin>>x[i]>>y[i];
	}
	
	double l=0,r=1e10,mid,res=-1;
	for (int i=1; i<=60; i++) {
		mid=(l+r)/2.0;
		if (check(mid))
			res=mid,r=mid-0.000001;
				else
			l=mid+0.000001;
	}
	res/=2.0;
	printf("%.7f",res);	
}

Compilation message

odasiljaci.cpp: In function 'void Dfs(int)':
odasiljaci.cpp:13:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for (int i=0; i<v[x].size(); i++) {
      |                ~^~~~~~~~~~~~
odasiljaci.cpp: At global scope:
odasiljaci.cpp:34:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   34 | main () {
      |       ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 372 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 2 ms 364 KB Output is correct
4 Incorrect 3 ms 364 KB Output isn't correct
5 Incorrect 4 ms 364 KB Output isn't correct
6 Correct 70 ms 1456 KB Output is correct
7 Correct 70 ms 1456 KB Output is correct
8 Correct 154 ms 3484 KB Output is correct
9 Incorrect 812 ms 4500 KB Output isn't correct
10 Incorrect 512 ms 4460 KB Output isn't correct