답안 #334610

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
334610 2020-12-09T15:01:11 Z GioChkhaidze Odašiljači (COCI20_odasiljaci) C++14
35 / 70
1000 ms 4460 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<=1000; i++) {
		mid=(l+r)/2.0;
		if (check(mid))
			res=mid,r=mid-0.0000001;
				else
			l=mid+0.0000001;
	}
	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 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 8 ms 364 KB Output is correct
4 Incorrect 28 ms 492 KB Output isn't correct
5 Incorrect 52 ms 364 KB Output isn't correct
6 Correct 573 ms 1516 KB Output is correct
7 Correct 590 ms 1516 KB Output is correct
8 Execution timed out 1084 ms 3436 KB Time limit exceeded
9 Execution timed out 1079 ms 4460 KB Time limit exceeded
10 Execution timed out 1080 ms 4460 KB Time limit exceeded