求哪位大佬帮我详细解释一下这个代码的思路,有点迷 50

求哪位大佬帮我详细解释一下这个代码的思路,有点迷#include<cstdio>#include<iostream>#include<algorithm>#include... 求哪位大佬帮我详细解释一下这个代码的思路,有点迷#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int INF = 1<<30;
const int N = 20;
int n, r[N];
double pos[N];
double sum;
void dfs(int index) {
if(index == n+1) {
int r1, r2;
for(int i = 1; i <= n; i++) {
pos[i] = r[i];
for(int j = 1; j < i; j++) {
r1 = r[i];r2 = r[j];
pos[i] = max(pos[i], pos[j]+sqrt((r1+r2)*(r1+r2)-(r1-r2)*(r1-r2)));
}
}
sum = min(sum, pos[n]-pos[1]+r[1]+r[n]);
return;
}
for(int i = index; i <= n; i++) {
swap(r[index], r[i]);
dfs(index+1);
swap(r[index], r[i]);
}
}
int main() {
scanf("%d", &n);
sum = INF;
for(int i = 1; i <= n; i++)
scanf("%d", &r[i]);
dfs(1);
printf("%lf\n", sum);
return 0;
}
展开
 我来答
nd...p@163.com
2017-12-06 · TA获得超过126个赞
知道答主
回答量:49
采纳率:50%
帮助的人:10.1万
展开全部
#include"stdio.h"
int GetApple(int a[],int height,int n)
{
int i;
n=0;
for(i=0;i<10;i++)
{
if(a[i]<=height)
n++;
}
return n;
}
int main()
{
int i,a[10],height=30,h,n=0;
printf("输入10个苹果的高度:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("\n输入淘淘的身高");
scanf("%d",&h);
height+=h;
n=GetApple(a,height,n);
printf("%d\n",n);
return 0;

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
时空魔法
2017-12-05 · TA获得超过249个赞
知道小有建树答主
回答量:424
采纳率:50%
帮助的人:77.1万
展开全部
你问的方式我也很迷, 难道从第一句开始给你讲?
追问
从定义那个不可变常量开始可以不
这个是算法的圆排列问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式