제출 #334607

#제출 시각아이디문제언어결과실행 시간메모리
334607GioChkhaidzeOdašiljači (COCI20_odasiljaci)C++14
42 / 70
812 ms4500 KiB
#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);	
}

컴파일 시 표준 에러 (stderr) 메시지

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 () {
      |       ^
#Verdict Execution timeMemoryGrader output
Fetching results...