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

poj 3532 Resistance

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

poj 3532 Resistance

#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define INF 1000.0#define V 105using namespace std;int num[V][V],n,N,m,i,x,y,j,p,k,zz;double R[V][V],map[V][V][V],ans[V],s[V],f[V][V],max,z,A,Max,temp;int main(){  while (scanf("%d%d",&n,&m)!=EOF)  {    memset(R,0,sizeof(R));    memset(s,0,sizeof(s));    memset(ans,0,sizeof(ans));    memset(num,0,sizeof(num));    memset(map,0,sizeof(map));    memset(f,0,sizeof(f));    A=0;    for (i=1;i<=m;i++)      scanf("%d%d%d",&x,&y,&zz),z=(double)zz,x--,y--,map[x][y][++num[x][y]]=z,map[y][x][++num[y][x]]=z;    for (i=0;i<n;i++)      for (j=0;j<n;j++)        if (num[i][j])        {          for (k=1;k<=num[i][j];k++) R[i][j]+=(double)1.0/map[i][j][k];          R[i][j]=1.0/R[i][j];        }    ans[0]=INF;ans[n-1]=0;N=n-2;    for (i=1;i<=N;i++)    {      if (R[i][0]) f[i][i]-=1.0/R[i][0],s[i]-=ans[0]/R[i][0];      if (R[i][n-1]) f[i][i]-=1.0/R[i][n-1];      for (j=1;j<=N;j++)        if (R[i][j]&&i!=j) f[i][j]=1.0/R[i][j],f[i][i]-=1.0/R[i][j];    }    for (i=1;i<N;i++)      {        for (j=i+1;j<=N;j++)        {          temp=f[j][i]/f[i][i];          for (k=i;k<=N;k++) f[j][k]-=f[i][k]*temp;          s[j]-=s[i]*temp;        }      }     for (i=N;i;i--)      {        for (j=i+1;j<=N;j++)          s[i]-=ans[j]*f[i][j];        ans[i]=s[i]/f[i][i];      }    for (i=0;i<=N;i++) if (R[i][n-1]) A+=ans[i]/R[i][n-1];    printf("%.2lfn",(INF/A+1e-4));  }  return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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