85分的奇怪算法

不知道不动任何脑筋的暴力是多少分啊,
这个诡异的代码能有85。。。
就是按着题目的仨式子简单地处理了下循环范围问题。
大神可以看看有没有可以改进的地方了qvq
```c++
type gdc=record
num,a,b,c,d:longint;
end;
var
a:array[0..20000] of gdc;
i,j,k,x,n,m:longint;
map:array[1..50000] of longint;

function pan(i,j:longint):boolean;
begin
if ((j-i) mod 2)=0 then exit(true)
else exit(false);
end;
begin
readln(n,m);
for i:= 1 to m do
begin
readln(x);
map[i]:=x;
inc(a[x].num);
end;
for i:= 1 to n-4 do
begin
for j:= i+1 to i+(n-i) div 4 do
begin
if pan(i,j) then
begin
for k:= j+(j+j+j-i-i-i)+1 to (n-((j-i) div 2)) do
begin
a[i].a:=a[i].a+a[j].num*a[k].num*a[k+(j-i) div 2].num;
a[j].b:=a[j].b+a[i].num*a[k].num*a[k+(j-i) div 2].num;
a[k].c:=a[k].c+a[j].num*a[i].num*a[k+(j-i) div 2].num;
a[k+(j-i) div 2].d:=a[k+(j-i)div 2].d+a[j].num*a[k].num*a[i].num;
end;
end;
end;
end;
for i:= 1 to m do
begin
writeln(a[map[i]].a,' ',a[map[i]].b,' ',a[map[i]].c,' ',a[map[i]].d);
end;
end.
```

0 条评论

目前还没有评论...

信息

ID
2012
难度
4
分类
(无)
标签
递交数
566
已通过
147
通过率
26%
被复制
15
上传者