- 魔法阵
- 2017-04-19 21:45:39 @
不知道不动任何脑筋的暴力是多少分啊,
这个诡异的代码能有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
- 上传者