poj 1819 Disks
http://poj.org/problem?id=1819
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
using namespace std; const double eps=1e-;
struct point
{
double x;
double y,r;
}pp[];
bool flag[];
int stack1[],n; int main()
{
while(scanf("%d",&n)!=EOF)
{
double x;
int p=,i,last;
for(last=i=; i<=n; i++){
flag[i]=true;
scanf("%lf",&pp[i].r);
int k=;
pp[i].x=pp[i].y=pp[i].r;
for(int j=; j<=p; j++)
{
x=pp[stack1[j]].x+*sqrt(pp[i].r*pp[stack1[j]].r);
if(x-pp[i].x>eps)
{
pp[i].x=x;
k=j;
}
}
p=k;
stack1[++p]=i;
if(pp[i].x+pp[i].r-pp[last].x-pp[last].r>eps)
{
last=i;
}
}
for(int i=; i<=p; i++) flag[stack1[i]]=;
for(int j=last+; j<=n; j++)
{
flag[j]=true;
}
int num=;
for(int i=; i<=n; i++)
{
if(flag[i])
{
num++;
}
}
printf("%d\n",num);
for(int i=; i<=n; i++)
{
if(flag[i])
{
printf("%d\n",i);
}
}
}
return ;
}
poj 1819 Disks的更多相关文章
- 【POJ】1819.Disks
博客园的话插链接链接都是凉的= = 题解 我理解成能不能看到这个圆,除了最后几个圆特殊以外都是等价的,然而我凉了,因为我把圆当成线段来处理,但是,有可能一个圆完全被遮住了,还有一个缝隙,就WA了 计算 ...
- ACM计算几何题目推荐
//第一期 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面 ...
- poj很好很有层次感(转)
OJ上的一些水题(可用来练手和增加自信) (POJ 3299,POJ 2159,POJ 2739,POJ 1083,POJ 2262,POJ 1503,POJ 3006,POJ 2255,POJ 30 ...
- POJ题目分类推荐 (很好很有层次感)
著名题单,最初来源不详.直接来源:http://blog.csdn.net/a1dark/article/details/11714009 OJ上的一些水题(可用来练手和增加自信) (POJ 3299 ...
- POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)
POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...
- poj 3601 Tower of Hanoi
Tower of Hanoi Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 1853 Accepted: 635 De ...
- poj 3601Tower of Hanoi
Tower of Hanoi Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 1895 Accepted: 646 De ...
- POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理
Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7644 Accepted: 2798 ...
- POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理
Find a multiple Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7192 Accepted: 3138 ...
随机推荐
- SqlServer中计算列详解
计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值.比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值, ...
- Asp.Net Webapi路由基本设置
1.直接在Global.asax中添加配置 如: using MvcApplication4.App_Start; using System; using System.Collections.Gen ...
- redis: 6379端口下set值时出现 CLUSTERDOWN The cluster is down
1.使用./redis-trib.rb check 192.168.242.134:6379检查出现图中的错误 2.在redis安装目录的bin下执行下列命令去cluster meet 另一个端口为7 ...
- linux —— 问题解决(锦集)
这里收录了我在使用ubuntu 时遇到的问题以及解决方案. 1. Ubuntu上由于/boot容量不足引起的无法更新系统 解决: [ link1 ] [ link2 ] 2. 在未联网的情况下,sud ...
- js常用自编函数整理
1.替换js地址栏参数值 //destiny是目标字符串,比如是http://www.huistd.com/?id=3&ttt=3 //par是参数名,par_value是参数要更改的值,调用 ...
- android中画文字的换行 办法(对于遇到canvas.drawText(String s )无法实现换行问题的解决)
在使用canvas.drawText()绘制文字的时候,发现,如果需要绘制的文字较长,需要换行,通过在文字中加上“\n"或者”\r\n"都无法实现换行,如果非要使用canvas.d ...
- Android Back Home键监听
Android Back Home键监听 Back键的监听 对于Back键的监听比较容易,可以在多个系统回调处拦截,比如在activity的下列方法中都可以收到Back键按下的事件: @Overrid ...
- Java多线程——线程同步
在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系.可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题.现在就来学习多线程对数据访问的 ...
- ListControl一细节处理
做VC ListControl的时候发现一个问题,右击菜单的时候,在没有列表数据的空白处也会出现菜单,这可够纠结的,于是用了点方法解决了,希望分享同样不爽的朋友们.代码如下: void CXXXDlg ...
- BestCoder Round 59 (HDOJ 5500) Reorder the Books
Problem Description dxy has a collection of a series of books called “The Stories of SDOI”,There are ...