栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3638 Moogle

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3638 Moogle

#include <stdio.h>  #include <string.h>  #include <math.h>  #define inf 1e9;  int h,in[210];  double e[210][210];  double dp[210][210];  double min(double a,double b){      return a>b?b:a;  }  int main(){      int t,T,h,c,i,j,k;      scanf("%d",&T);      for(t=1;t<=T;t++){          scanf("%d %d",&h,&c);          for(i=1;i<=h;i++)   scanf("%d",&in[i]);          for(i=1;i<=h;i++)   for(j=i;j<=h;j++){       if(j==i){e[i][j]=0;continue;       }       double tem =(double)(in[j]-in[i])/(j-i);       double sum=0;       for(int k=i+1;k<j;k++)sum+=fabs(tem*(k-i)+in[i]-in[k]);       e[i][j]=sum;   }          for(i=1;i<=h;i++)   for(j=1;j<=c;j++){       dp[i][j] = inf;   }          for(i=2;i<=h;i++){   for(j=2;j<=c && j<=i;j++){       if(j==2){dp[i][j]=e[1][i];  //第一个位置必须有continue;       }       for(k=2;k<i;k++){if(k>=j-1){    dp[i][j]=min(dp[i][j],dp[k][j-1]+e[k][i]);}       }   }      }          printf("%.4fn",dp[h][c]/h);      }  }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376457.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号