题意: 一看图就明白了 要求的是1与n端点间的等效电阻

重点在于转化成考虑电流

根据KCL定理:在任一瞬间流出(流入)该节点的所有电流的代数和恒为零

       U = IR

 可以令1点的电势为零 那么n点的电势就等于它的等效电阻

可以列出方程组  $\sum\limits \frac{U_j-U_i}{R_ij} + I = 0$

         $U_0$ = 0;

 double a[][];  // 增广矩阵
double x[]; // 解
int free_x[]; // 标记是否为自由未知量 void Gauss(int n, int m) // n个方程 m个未知数 即 n行m+1列
{
//转换为阶梯形式
int col=, k;
for(k=;k<n && col<m;k++, col++)
{//枚举行
int max_r=k;
for(int i=k+;i<n;i++)//找到第col列元素绝对值最大的那行与第k行交换
if(fabs(a[i][col])>fabs(a[max_r][col]))
max_r=i;
if(fabs(a[max_r][col])<eps)
return ;
if(max_r!=k)// 与第k行交换
{
for(int j=col;j<m;j++)
swap(a[k][j], a[max_r][j]);
swap(x[k], x[max_r]);
}
x[k]/=a[k][col];
for(int i=col+;i<m;i++)
a[k][i]/=a[k][col];
a[k][col]=;
for(int i=;i<m;i++)
if(i!=k)
{
x[i]-=x[k]*a[i][k];
for(int j=col+;j<m;j++)
a[i][j]-=a[k][j]*a[i][col];
a[i][col]=;
}
}
} void init()
{
memset(a, , sizeof(a));
memset(x, , sizeof(x));
} int main()
{
int T, ca=;
scanf("%d", &T);
while(T--)
{
int n, m;
scanf("%d%d", &n, &m);
init();
for(int i=;i<m;i++)
{
int X, Y, Z;
scanf("%d%d%d", &X, &Y, &Z);
X--, Y--;
a[X][Y]+=1.0/Z;
a[Y][X]+=1.0/Z;
a[X][X]-=1.0/Z;
a[Y][Y]-=1.0/Z;
}
printf("Case #%d: ", ca++);
fill(a[n-], a[n-]+n, );
a[n-][]=;
x[]=;
Gauss(n, n);
printf("%.2lf\n", x[n-]);
}
return ;
}

HDOJ 3976

[Gauss]HDOJ3976 Electric resistance的更多相关文章

  1. HDU 3976 Electric resistance (高斯消元法)

    Electric resistance Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  2. [HDU3976]Electric resistance(电阻)(信竞&物竞)(高斯消元)

    题面 Problem Description Now give you a circuit who has n nodes (marked from 1 to n) , please tell abc ...

  3. UVALive - 3942 Remember the Word[树状数组]

    UVALive - 3942 Remember the Word A potentiometer, or potmeter for short, is an electronic device wit ...

  4. poj 3532 Resistance

    ---恢复内容开始--- Resistance Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 1289   Accepte ...

  5. OPEN CASCADE Gauss Least Square

    OPEN CASCADE Gauss Least Square eryar@163.com Abstract. The least square can be used to solve a set ...

  6. OpenCASCADE Gauss Integration

    OpenCASCADE Gauss Integration eryar@163.com Abstract. Numerical integration is the approximate compu ...

  7. The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [ Copied ]

    Source Address: http://masteringelectronicsdesign.com/the-non-inverting-amplifier-output-resistance/ ...

  8. ural 1143. Electric Path

    1143. Electric Path Time limit: 1.0 secondMemory limit: 64 MB Background At the team competition of ...

  9. C# 列主元素(Gauss)消去法 计算一元多次方程组

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

随机推荐

  1. .Net Core 学习 (1) - ASP.NET Core 总览

    什么是ASP.NET 1.0 开源 - GitHub 跨平台 - 支持Windows, Mac, Linux 从底层进行了优化 - 使用最小开销的模块化组件 - 给与了开发人员很大的灵活性 为什么要使 ...

  2. SQL 拼接多个字段的值&一个字段多条记录的拼接 [轉]

    例如student表: studentID studentName studentScore 01 Alice 90 02 Bill 95 03 Cindy 100 一.拼接多个字段的值 select ...

  3. iOS推送通知流程

    ①注册推送通知使用方法:registerUserNotificationSettings, registerForRemoteNotifications ④APP发送deviceToken到第三方: ...

  4. Flex布局新旧混合写法详解(兼容微信)

    原文链接:https://www.usblog.cc/blog/post/justzhl/Flex布局新旧混合写法详解(兼容微信) flex是个非常好用的属性,如果说有什么可以完全代替 float 和 ...

  5. 第32条:用EnumSet代替位域

    如果一个枚举类型的元素主要用在集合中,一般使用int枚举模式,将2的不同倍数赋予每个常量: public class Text { public static final int STYLE_BOLD ...

  6. Web前端新人笔记之height、min-height的区别

     浏览器参照基准:Firefox, Chrome, Safari, Opera, IE: * IE6不支持CSS min-height属性.最小高度的定义:1. 元素拥有默认高度:2. 当内容超出元素 ...

  7. lnmp 虚拟主机配置及重写

    lnmp安装与调试,请看 http://www.cnblogs.com/lin3615/p/4376224.html 虚拟主机的配置编辑nginx配置文件 nginx.conf此为主配置文件 vim ...

  8. .NET研发人员面试题(一)

    1.简述javascript中的“=.==.===”的区别? =赋值 ==比较是否一般相等   "3"==3 //会做类型的隐式转换,true ===比较是否严格相等 " ...

  9. [C#]获取一年中是第几个星期

    关键代码: /// <summary> /// 获取日期是一年中第几个星期 /// </summary> /// <param name="date" ...

  10. sae-服务器php运行环境配置

    config.yaml 语法- OPTION: ARG1 ARG2 ... - OPTION: if (CONDICTIONs) ACTION CONDITION可以是以下任意一种: 使用 == 和 ...