是数据太水还是什么原因,有大佬可以解释吗
查看原帖
是数据太水还是什么原因,有大佬可以解释吗
1237981
xyq7楼主2025/2/7 15:40

if(a[j][i]>a[r][i])写成if(a[j][i]>a[r][j])if(a[j][i]>a[j][r])还有90分

void Gauss(){
	int i,j,k,r,tmp,tp;
	for(i=1;i<=n;++i){
		r=i;
		for(j=i+1;j<=n;++j){
			if(a[j][i]>a[r][j]){//!
				r=j;
				break;
			}
		}
		if(r!=i) swap(a[i],a[j]);
		if(!a[i][i]){
			puts("No Solution");
			return ;
		}
		tmp=qpow(a[i][i],mod-2);
		for(j=1;j<=n;++j){
			if(i==j) continue;
			tp=a[j][i]*tmp%mod;
			for(k=i;k<=(n<<1);++k) a[j][k]=(a[j][k]-a[i][k]*tp%mod+mod)%mod;
		}
		for(j=1;j<=(n<<1);++j) a[i][j]=a[i][j]*tmp%mod;//将a[i][i]除为1 
	}
	for(i=1;i<=n;++i){
		for(j=n+1;j<=(n<<1);++j) write(a[i][j]),putchar(' ');
		puts("");
	}
	return ;
}
2025/2/7 15:40
加载中...