数学
行列式求值
- 高斯消元
#define type long long
type det(type a[][maxn],int n)
{
type ret=1;
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
while(a[j][i])
{
type t=a[i][i]/a[j][i];
for(int k=i;k<=n;k++)
a[i][k]=a[i][k]-a[j][k]*t;
for(int k=i;k<=n;k++)
swap(a[i][k],a[j][k]);
ret=-ret;
}
}
if(a[i][i]==0) return 0;
ret=ret*a[i][i];
}
if(ret<0) ret=-ret;
return ret;
}