感觉被卡掉了。
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=998244353;
int t,n,a[3001][3001],b[3001][3001],c[3001][3001];
bool vis[3001][3001];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
srand(time(0));
cin>>t;
while(t--){
memset(vis,0,sizeof vis);
cin>>n;
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j];
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>b[i][j];
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>c[i][j];
for(int k=1;k<=min(n*n,100000ll);k++){
int x=rand()%n+1,y=rand()%n+1,cnt=0;
if(vis[x][y]){
k--;
continue;
}
vis[x][y]=1;
for(int i=1;i<=n;i++) cnt+=a[x][i]*b[i][y],cnt%=mod;
if(cnt!=c[x][y]){
cout<<"No\n";
goto T1;
}
}
cout<<"Yes\n";
T1:;
}
}