hdu 4932Miaomiao's Geometry
来源:互联网 发布:阿里云ftp默认端口号 编辑:程序博客网 时间:2024/05/16 08:57
强行卖萌...瞎搞各种暴力然后就卖萌了
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;double p[120], d[120];int f[120];int n, cnt, tot;bool Judge(double tt){int i; for(i = 1; i < n-1; i++) { if(p[i] - tt < p[i-1] && p[i] + tt > p[i+1]) break;//无论向左还是向右均为不符合 if(p[i] - tt >= p[i-1])//向左察看 { if(f[i-1] == 2)//如果前一个是向右的 { if(p[i] - p[i-1] == tt) f[i] = 1;//两个点作为线段的两个端点 else if(p[i] - p[i-1] >= 2*tt)//一个向左一个向右 { f[i] = 1; } else if(p[i] + tt <= p[i+1]) { f[i] = 2;//只能向右 } else return false; } else f[i] = 1; } else if(p[i] + tt <= p[i+1]) f[i] = 2; } if(i == n-1)//全部符合 return true;return false;}int main(){scanf("%d", &tot);while(tot--){scanf("%d", &n);for(int i = 0; i < n; i++){scanf("%lf", &p[i]);}sort(p, p+n);int cnt = 0;for(int i = 1; i < n; i++){d[cnt++] = p[i] - p[i-1];d[cnt++] = (p[i] - p[i-1]) / 2;}sort(d, d+cnt);double ans;for(int i = cnt-1; i >= 0; i--){memset(f,0,sizeof(f)); f[0] = 1; //开始肯定是让线段向左 if(Judge(d[i])) { ans = d[i]; break; } } printf("%.3f\n", ans);}return 0;}
0 0
- HDU 4932 Miaomiao's Geometry
- hdu 4932 Miaomiao's Geometry
- HDU 4932 Miaomiao's Geometry
- HDU-4932-Miaomiao's Geometry
- hdu 4932 Miaomiao's Geometry
- HDU 4932 Miaomiao's Geometry
- HDU-4932-Miaomiao's Geometry
- hdu 4932Miaomiao's Geometry
- HDU 4932 Miaomiao's Geometry
- 【HDU】4932 Miaomiao's Geometry 暴力
- hdu 4932 Miaomiao's Geometry(暴力)
- HDU 4932 Miaomiao's Geometry(推理)
- HDU 4932 Miaomiao's Geometry 暴力
- hdu 4932 Miaomiao's Geometry 暴力枚举
- 【贪心】HDU 4932 Miaomiao's Geometry
- HDU—— 4932 Miaomiao's Geometry
- HDU-4932-Miaomiao's Geometry【暴力枚举】
- hdu 4932 Miaomiao's Geometry(暴力枚举)
- MySQL中ib_logfile和ibdata1参数大小被修改后
- lua的ipair与pair究竟有什么区别
- 我的开源项目工作最后总结
- Matlab括号使用详解
- Android提交数据到服务器的两种方式四种方法
- hdu 4932Miaomiao's Geometry
- Android 获取下载文件的真实名字
- ubuntu14.04 安装 lnmp 和配置虚拟机
- Linked List Cycle
- 此时此刻,我已经醒了!
- 区分二维数组与指针数组的区别
- POJ 1750 Dictionary(模拟)
- html float居中
- Android运行时异常“Binary XML file line # : Error inflating class”