0%

渲染测试

BIG

BIGGGG

f(x)f(x)

i=1n\sum_{i=1}^n

eiθ=cosθ+isinθi=1nΣi=1ne^{i\theta}=\cos\theta+i\sin\theta \\ \sum_{i=1}^n \\ \Sigma_{i=1}^n

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<bits/stdc++.h>
using namespace std;

const int N=300,MOD=1e9+7;
int n,m,t,a[N+5][N+5],ans=1;

int Power(int x,int y) {
int ret=1;
while(y) {
if(y&1) ret=1ll*ret*x%MOD;
x=1ll*x*x%MOD,y>>=1;
}
return ret;
}

int main() {
scanf("%d%d%d",&n,&m,&t);
for(int i=1,u,v,w;i<=m;i++) {
scanf("%d%d%d",&u,&v,&w);
if(t) a[u][v]=(a[u][v]-w)%MOD,a[v][v]=(a[v][v]+w)%MOD;
else {
a[u][v]=(a[u][v]-w)%MOD,a[v][u]=(a[v][u]-w)%MOD;
a[u][u]=(a[u][u]+w)%MOD,a[v][v]=(a[v][v]+w)%MOD;
}
}
for(int i=2;i<=n;i++) {
int u=0;
for(int j=i;j<=n;j++) if(a[j][i]) u=j;
if(!u) { puts("0"); return 0; }
if(u!=i) ans*=-1;
for(int j=1;j<=n;j++) swap(a[i][j],a[u][j]);
for(int j=i+1;j<=n;j++) {
int u=1ll*a[j][i]*Power(a[i][i],MOD-2)%MOD;
for(int k=1;k<=n;k++) a[j][k]=(a[j][k]-1ll*u*a[i][k])%MOD;
}
ans=1ll*ans*a[i][i]%MOD;
}
printf("%d\n",(ans+MOD)%MOD);
return 0;
}