使用DFS枚举所有的安排。每次加入后,当一个圆。他的立场是最大的,并已加入了圆环中的所有切线位置前面。

14383635 10012 How Big Is It? Accepted C++ 0.086 2014-10-20 11:07:33
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef double Dou;
#define FOR(i,n) for(int i = 0; i < n; i ++)
const int maxn = 10;
int n,vis[maxn];
Dou ans,r[maxn];
struct POS{   //圆心位置就是(x,r)Dou x,r;  //横坐标,半径
}pos[maxn];
Dou check(int cur,int k){Dou ret = r[k];FOR(i,cur){Dou a = pos[i].r + r[k];Dou b = pos[i].r - r[k];Dou c = sqrt(a * a - b * b);ret = max(ret,pos[i].x + c);}pos[cur].x = ret; pos[cur].r = r[k];return ret + r[k];
}
void dfs(int cur,double L){if(ans != -1 && L > ans)  return;if(cur == n){Dou ret;for(int i = 0; i < cur; i++){if(i == 0) ret = pos[i].x + pos[i].r;else ret = max(ret,pos[i].x + pos[i].r);}ans = (ans == -1) ?

ret : min(ans,ret); return; } FOR(i,n) if(!vis[i]){ vis[i] = 1; dfs(cur + 1,check(cur,i)); vis[i] = 0; } return; } int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d",&n); ans = -1; memset(vis,0,sizeof(vis)); FOR(i,n) scanf("%lf",&r[i]); dfs(0,0.0); printf("%.3f\n",ans); } return 0; }

【UVA】10012 - How Big Is It?(暴力)相关推荐

  1. UVA 10074 Take the Land dp/暴力+剪枝

    原题传送门:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  2. UVA 617 - Nonstop Travel(数论+暴力枚举)

    题目链接:617 - Nonstop Travel 题意:给定一些红绿灯.如今速度能在30-60km/h之内,求多少个速度满足一路不遇到红灯. 思路:暴力每个速度,去推断可不能够,最后注意下输出格式就 ...

  3. uva 811 - The Fortified Forest(暴力+凸包)

    题目链接:uva 811 - The Fortified Forest 最多就15棵树,枚举哪些树要砍,剩下的做凸包. #include <cstdio> #include <cst ...

  4. UVa 211 The Domino Effect 多米诺效应 暴力搜索

    题目链接:UVa 211 The Domino Effect 题目描述: 一张多米诺骨牌拥有两个数值,一共有二十八张不同的多米诺骨牌,这二十八张多米诺骨牌的点数如下图所示: 上图的 B o n e B ...

  5. UVA - 12325 Zombie's Treasure Chest 暴力

    根据两种情况 选择不同枚举 哇!  这题开始用 int 类型的数写的,只有 存最大 价值量的 mix_ 用了long long ,结果交了一遍 wa ,查了一遍 没问题啊?? 后来意识到 max 函数 ...

  6. 初学者acm的练习题指南

    上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1.    <!--[endif]-->Programming Bas ...

  7. “kuangbin带你飞”专题计划——专题十四:数论基础

    写在前面 1.目前还没啥写的.开始时间:2021-05-13(其实博客上看得到该博客创建时间的) 2.上一个专题刷的是网络流(博客总结),属于第一次接触.本来想的是一周特别高效,然后一周略划水,结果是 ...

  8. 暴力枚举 UVA 725 Division

    题目传送门 1 /* 2 暴力:对于每一个数都判断,是否数字全都使用过一遍 3 */ 4 #include <cstdio> 5 #include <iostream> 6 # ...

  9. uva 725 Division(暴力模拟)

    Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数 ...

最新文章

  1. python安装教程windows-PyCharm 安装教程(Windows)
  2. python中常见的流程结构-常见数据结构的 Python 实现(建议收藏)
  3. jenkins详细设置(二)
  4. window 下的mysql_Windows下MySQL下载安装、配置与使用
  5. Mysql日期和时间函数
  6. HTTPHandler有什么作用
  7. php可以用水晶报表吗,什么是水晶报表与水晶报表功能分析
  8. 优达学城深度学习之一——Anaconda
  9. php判断get和post请求,PHP:6种GET和POST请求发送方法
  10. Unity 调用Android中的java代码
  11. 深入理解机器学习中的信息熵、KL散度、交叉熵
  12. ICLR 2022最佳论文:基于对比消歧的偏标签学习
  13. win7计算机图标排列,win7文件夹内图标取消自动排列,取消自动排列
  14. 【哈士奇赠书活动 - 23期】-〖你好 ChatGPT〗
  15. Alibaba Cloud Toolkit —— 项目一键部署工具
  16. A example of Maximum A Posteriori (MAP) estimation
  17. matlab弹簧振子的阻尼振动,MATLAB计算方法和技巧6_2阻尼振动
  18. hex文件详解及常用合并方法介绍
  19. LeetCode1079题:活字印刷——Python递归与迭代解法
  20. 苹果第四财季净利润85亿美元 同比增长13%

热门文章

  1. VB.NET 委托处理 传递参数
  2. 仿WINDWS无限级Ajax菜单树升级1.2版(菜单名支持非法字符)
  3. Docker容器的导出和导入
  4. 转:Jeff Dean的Stanford演讲
  5. Android类似于滚动的通知栏实现
  6. WPF使用Linq 一行代码搞定数据绑定
  7. android视频播放指定位置,android – 如何在某个特定位置的视图中查看视频?
  8. Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
  9. android之ListView和adapter配合显示图片和文字列表
  10. 友情提醒:欲开发android5.0以上应用,请全部更新开发工具至最新