警示后人,如果你 WA on #8(判无解)
查看原帖
警示后人,如果你 WA on #8(判无解)
1062290
longlong666楼主2025/6/25 13:49

在最后判断无解、无数解时,应注意不要写成:

for(int i=n;i>=1;--i)
	if(fabs(a[i][i])<=eps){
		if(fabs(a[i][n+1])>eps)return cout<<-1<<endl,0;
		if(fabs(a[i][n+1])<=eps)return cout<<0<<endl,0;
	}

而应当把无数解全部判完之后在判无解。

for(int i=n;i>=1;--i)if(fabs(a[i][i])<eps)if(fabs(a[i][n+1])>=eps)return cout<<-1<<endl,0;
for(int i=n;i>=1;--i)if(fabs(a[i][i])<eps)if(fabs(a[i][n+1])<eps)return cout<<0<<endl,0;

hack:

input:

3
0 0 0 2
0 0 0 0
0 0 0 0

output:

0

ans:

-1
2025/6/25 13:49
加载中...