思路和BZOJ 博物馆很像。

同样是高斯消元

#include <map>
#include <ctime>
#include <cmath>
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
#define F(i,j,k) for (int i=j;i<=k;++i)
#define D(i,j,k) for (int i=j;i>=k;--i)
#define maxn 100005
#define eps 1e-9 double a[350][350];
double ans[350];
int n,m,p,q;
int h[maxn],to[maxn],ne[maxn],en=0,du[maxn]; void add(int a,int b)
{to[en]=b;ne[en]=h[a];h[a]=en++;du[a]++;} void Gauss()
{
F(i,1,n)
{
int tmp=i;
F(j,i+1,n) if (fabs(a[tmp][i])<fabs(a[j][i])) tmp=j;
if (tmp!=i) F(j,i,n+1) swap(a[tmp][j],a[i][j]);
F(j,i+1,n) if (j!=i)
{
double t=a[j][i]/a[i][i];
F(k,i,n+1) a[j][k]-=t*a[i][k];
}
}
D(i,n,1)
{
F(j,i+1,n)
a[i][n+1]-=a[i][j]*ans[j];
ans[i]=a[i][n+1]/a[i][i];
}
} int main()
{
scanf("%d%d%d%d",&n,&m,&p,&q);
a[1][n+1]=1.0*p/q;
F(i,1,m)
{
int x,y;scanf("%d%d",&x,&y);
du[x]++;du[y]++;
a[x][y]+=1.0; a[y][x]+=1.0;
}
F(i,1,n) F(j,1,n) if (du[j]) a[i][j]/=(double)du[j];
F(i,1,n) F(j,1,n) a[i][j]*=1.0*p/q-1;
F(i,1,n) a[i][i]+=1;
Gauss();
F(i,1,n) printf("%.9f\n",ans[i]);
}

  

最新文章

  1. VirtualBox安装MS-DOS6.22(图文教程)
  2. C++ 第二次课堂作业(反转链表)
  3. circle area
  4. C# 正则表达式 匹配IP地址
  5. 小白日记21:kali渗透测试之提权(一)--本地提权
  6. ☀【CSS3】切换开关
  7. STM32软件复位(基于库文件V3.5)
  8. 【转载】32复用时钟AFIO开启情况
  9. c# post basic 接口
  10. Salesforce Lightning开发学习(一)Hello World开发实践
  11. CSS效果:跑马灯按钮
  12. Python读取导入非安装文件库的方法
  13. PHP合并数组及去重
  14. SpringBoot结合Swagger2自动生成api文档
  15. 大话Java中的哈希(hash)结构(一)
  16. 高并发第十二弹:并发容器J.U.C -- Executor组件FutureTask、ForkJoin
  17. CentOS 7.X下 -- 配置nginx正向代理支持https
  18. 快速配置java环境变量
  19. [Android Tips] 31.如何将第三库引入的 Permission 删除掉
  20. xilinx DMA IP核(二) —— 文档阅读

热门文章

  1. LINUX一网卡多IP设置
  2. c语言中的赋值
  3. iOS Category 添加属性实现原理 - 关联对象
  4. java.util.concurrent中的常用组件
  5. codevs 1145 Hanoi双塔问题 2007年NOIP全国联赛普及组
  6. 霍金的新语音系统 ACAT 将开源
  7. 人人必知的10个 jQuery 小技巧
  8. 2006: C语言实验——拍皮球
  9. 设置与使用SQL Server的字符集(Collation,即排序规则)
  10. synchronized 和ReentrantLock的区别