mxqz 卡常
查看原帖
mxqz 卡常
137603
zhiyangfanshotacon楼主2022/3/4 10:11

46pts\tt 46pts

#include <cstdio>
#include <algorithm>
const int N = 610; int _a[N][N], *a[N];
int main()
{
   int n, mod; scanf("%d%d", &n, &mod);
   for (int i = 1; i <= n; ++i) a[i] = _a[i];
   for (int i = 1; i <= n; ++i)
       for (int j = 1; j <= n; ++j) scanf("%d", &a[i][j]), a[i][j] %= mod;
   int ans = 1, f = 1;
   for (int i = 1; i <= n; ++i)
   {
       for (int j = i + 1; j <= n; ++j)
           while (a[j][i])
           {
               int t = a[i][i] / a[j][i];
               for (int k = i; k <= n; ++k)
                   a[i][k] = (a[i][k] - 1ll * t * a[j][k] % mod + mod) % mod;
               std::swap(a[i], a[j]); f *= -1;
           }
       ans = 1ll * ans * a[i][i] % mod;
   }
   ans = (ans * f + mod) % mod; printf("%d\n", ans); return 0;
}

不知道为啥常数这么大

2022/3/4 10:11
加载中...