求助,为啥错了/kel
查看原帖
求助,为啥错了/kel
160839
Prean楼主2020/12/18 12:22

RT,本人刚学矩阵树,照着定理打了一个高斯消元,WA。。。

有无dalao帮忙康一下啊/kel

#include<cstdio>
const int M=25;
int T,n,m;double G[M][M];
inline long long Gauss(int n){
	register int i,j,k;long long ans=1;--n;
	for(i=1;i<=n;++i){
		for(j=i+1;j<=n;++j){
			double d=G[j][i]/G[i][i];
			for(k=i;k<=n;++k)G[j][k]-=d*G[i][k];
		}
		ans*=G[i][i];
	}
	return ans;
}
signed main(){
	register int i,j,u,v;
	scanf("%d",&T);
	while(T--){
		scanf("%d%d",&n,&m);
		for(i=1;i<=n;++i){
			for(j=1;j<=n;++j)G[i][j]=0;
		}
		for(i=1;i<=m;++i){
			scanf("%d%d",&u,&v);
			++G[u][u];++G[v][v];
			--G[u][v];--G[v][u];
		}
		printf("%lld\n",Gauss(n));
	}
}
2020/12/18 12:22
加载中...