最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 扩散

C++ 少儿编程 1139浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

【题目描述】

一个点每过一个单位时间就会向四个方向扩散一个距离,如图。

两个点$a$、$b$连通,记作$e(a,b)$,当且仅当$a$、$b$的扩散区域有公共部分。连通块的定义是块内的任意两个点$u、v$都必定存在路径$e(u,a_0)$,$e(a_0,a_1),…,e(a_k,v)$。给定平面上的n给点,问最早什么时刻它们形成一个连通块。

【输入】

第一行一个数$n$,以下$n$行,每行一个点坐标。

【输出】

一个数,表示最早的时刻所有点形成连通块。

【输入样例】

2
0 0
5 5

【输出样例】

5

【提示】

【数据规模】

对于20%的数据,满足$1≤N≤5; 1≤X[i],Y[i]≤50$;

对于100%的数据,满足$1≤N≤50; 1≤X[i],Y[i]≤10^9$。

您必须 登录 才能发表评论!