70 条题解
-
0czz5242199 LV 9 @ 2009-01-01 21:48:03
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar a:array[0..101,0..101] of extended;
n:longint;
x:array[0..101] of extended;
procedure init;
var i,k,j:longint;
begin
readln(n);
for i:=1 to n do
begin
for k:=1 to n+1 do read(a);
readln;
end;
end;
procedure main;
var i,k,l,m,num:longint; j,max:extended;
begin
for i:=1 to n-1 do
begin
max:=abs(a); num:=i;
for k:=i+1 to n do
if abs(a[k,i])>max then begin max:=abs(a[k,i]); num:=k; end;
if numi then //把首项绝对值最大的行与当前行交换
for k:=1 to n+1 do begin j:=a; a:=a[num,k]; a[num,k]:=j; end;
for k:=i+1 to n do
begin
m:=i;
j:=a[k,i]/a;
for l:=1 to n+1 do a[k,l]:=a[k,l]-a*j;
end;
end;
x[n]:=a[n,n+1]/a[n,n];
for i:=n-1 downto 1 do
begin
j:=0;
for k:=i+1 to n do j:=j+x[k]*a;
x[i]:=(a-j)/a;
end;
for i:=1 to n do write(round(x[i]),' ');
writeln;
end;
begin
init;
main;
end. -
02009-05-02 19:04:52@
type arr=array[1..400] of real;
var
n,i,j,k:longint;
p:real;tmp:arr;
a:array[1..400] of arr;
ans:array[1..100] of longint;
begin
read(n);
for i:=1 to n do
for j:=1 to n+1 do read(a);
for i:=1 to n do
begin
j:=i;
while abs(a-0) -
02008-11-11 12:36:01@
不借助矩阵的消元。时间O(N^3)空间O(N^2+N)
-
02008-10-29 20:41:16@
无奈..
高斯N年前写的..现在看不懂了..= -
又不懂哪被我改乱了..
只好看着标程改..- -
无奈.. -
02008-10-27 21:38:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|- -
02008-10-04 11:10:12@
我开始用整数做……结果WA & TLE & RE……
总觉得应该用整数做更好……
下次写个高精+高斯……双高……很好很强大…… -
02008-09-29 20:56:13@
做过类似题,忘记改n的范围
囧~ -
02008-08-22 22:19:13@
考虑了一下,发现转化行列式再求解有些麻烦,但是这样不是应该最适合写代码的吗?不知道为什么。。。
-
02008-08-12 12:10:55@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msGauss Elimination!
-
02007-12-08 11:29:02@
高斯消元.
-
02007-11-06 22:13:30@
高斯消元~~~~~注意:
输出要用:ROUND!!!! -
02007-10-11 13:01:36@
注意输出时别用:0:0
要不然会出现-0的情况
要用round -
02007-09-06 19:41:50@
高斯消元法
先是用纯整数做的,WA了一堆,Runtime Error了一堆
但是死活找不出反例
又用实数做了一个
就AC了
监视了一下整数版
发现是里面涉及到GCD,用多了之后数变得巨大,想来是这里越界了~得到教训:
高斯校园法最好还是做实数的...
用GCD之前一定得弄明白数据范围... -
02007-07-28 09:15:29@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms我终于会高斯消元了!!!!!!!!!!
-
02007-07-27 23:55:34@
高斯消元法,注意高斯消元时要消去的未知数的系数不能为0
-
02007-07-25 21:19:59@
高斯消元。。
第一次把X1系数变成1
消去2-N式的X1.
第二次把X2系数变成1
消去3-N式的X2
直到第N式子,得到Xn=D
然后从第N个式子推回第1个式子..
N个式子用矩阵表示...
这就是高斯消元
用real计算答案的时候
ans[i]=-0.00000000000001
的情况时,会输出-0需要
write(round(ans[i]),' ')前几天才学的..
-
02007-06-20 20:09:07@
参见高中数学教材(人教课改版)
-
02007-05-23 18:15:16@
看样子...这题数据还是不能用最小公倍数...还是太大了...
-
02007-03-28 23:25:55@
高斯消元法!
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 25ms
├ 测试数据 09:答案正确... 56ms
├ 测试数据 10:答案正确... 56ms
一楼骗子,要考虑0 -
02006-12-23 10:46:02@
可能输出-0这种情况,输出时要判断