QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#793503#21608. 行列式zhulexuanCompile Error//C++141.9kb2024-11-29 20:37:412024-11-29 20:37:42

Judging History

你现在查看的是最新测评结果

  • [2024-11-29 20:37:42]
  • 评测
  • [2024-11-29 20:37:41]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf INT_MAX
#define fr(i,l,r) for (i=(l); i<=(r); i++)
#define rfr(i,l,r) for (i=(l); i>=(r); i--)
template<typename T>inline void read(T &n){
    T w=1; n=0; char ch=getchar();
    while (!isdigit(ch) && ch!=EOF){ if (ch=='-') w=-1; ch=getchar(); }
    while (isdigit(ch) && ch!=EOF){ n=(n<<3)+(n<<1)+(ch&15); ch=getchar(); }
    n*=w;
}
template<typename T>inline void write(T x){
    if (x==0){ putchar('0'); return ; }
    T tmp;
    if (x>0) tmp=x;
    else tmp=-x;
    if (x<0) putchar('-');
    char F[105];
    long long cnt=0;
    while (tmp){
        F[++cnt]=tmp%10+48;
        tmp/=10;
    }
    while (cnt) putchar(F[cnt--]);
}
#define Min(x,y) x = min(x,y)
#define Max(x,y) x = max(x,y)
//基础配置=================================================================================
const ll N = 505, mod = 998244353;
ll pw(ll x,ll y){
    ll ans = 1;
    while (y){
        if (y&1) ans = ans*x %mod;
        x = x*x %mod;
        y >>= 1;
    }
    return ans;
}
struct Det{
    ll n,ans;
    ll a[N][N];
    ll solve(){
        ll i,j,k;
        ans = 1;
        fr(i,1,n){
            fr(j,i+1,n){
                if (!a[j][i]) continue;
                while (a[i][i]){
                    ll kv = a[j][i]/a[i][i];
                    if (kv){ fr(k,0,n) ( a[j][k] -= kv*a[i][k] ) %=mod; }
                    swap(a[i],a[j]); ans = mod-ans;
                }
                swap(a[i],a[j]); ans = mod-ans;
            }
        }
        fr(i,1,n) ans = ans*a[i][i] %mod;
        ans = (ans%mod+mod)%mod;
        return ans;
    }
}dt;
int main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
    ll i,j;
    read(dt.n); dt.init(dt.n);
    fr(i,1,dt.n)
        fr(j,1,dt.n)
            read(dt.a[i][j]);
    write(dt.solve());
    return 0;
}
//g++ a.cpp -o a -Wall -Wl,--stack=512000000 -std=c++11 -O2

详细

answer.code: In function ‘int main()’:
answer.code:66:20: error: ‘struct Det’ has no member named ‘init’
   66 |     read(dt.n); dt.init(dt.n);
      |                    ^~~~