对和排序,显然最小是a1+a2,次小a1+a3 然后穷举哪里是a2+a3 这样a1,a2,a3就求出来了

注意a2+a3只可能是前n+1项中的一个,所以穷举这步是O(n)的

接下来我们把已经确定的数的和找到并标记,那么下一个未标记的和就是a1+新的数,然后依次递推下去即可

 var v:array[..] of boolean;
a:array[..] of longint;
b:array[..] of longint;
ans:array[..,..] of longint;
i,j,n,m,t:longint; procedure swap(var a,b:longint);
var c:longint;
begin
c:=a;
a:=b;
b:=c;
end; procedure sort(l,r:longint);
var i,j,x:longint;
begin
i:=l;
j:=r;
x:=a[(l+r) shr ];
repeat
while a[i]<x do inc(i);
while x<a[j] do dec(j);
if not(i>j) then
begin
swap(a[i],a[j]);
inc(i);
dec(j);
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end; function find(l,r,x:longint):longint;
var m:longint;
begin
while l<=r do
begin
m:=(l+r) shr ;
if a[m]=x then exit(m);
if a[m]>x then r:=m- else l:=m+;
end;
exit(-);
end; procedure check(i:longint);
var j,k,p,x,y:longint;
begin
fillchar(v,sizeof(v),false);
fillchar(b,sizeof(b),);
if (a[]+a[]-a[i]) mod <> then exit;
b[]:=(a[]+a[]-a[i]) div ;
b[]:=a[]-b[];
b[]:=a[]-b[];
v[]:=true; v[]:=true; v[i]:=true;
p:=;
for j:= to n do
begin
while (p<=m) and v[p] do inc(p);
if p>m then exit;
b[j]:=a[p]-b[];
v[p]:=true;
for k:= to j- do
begin
if b[k]>=b[j] then exit;
x:=find(,m,b[k]+b[j]);
if x=- then exit;
y:=x;
while (y>) and (a[y]=a[x]) do dec(y);
inc(y);
while (y<=m) and (a[y]=a[x]) and v[y] do inc(y);
if (y>m) or (a[y]<>a[x]) or v[y] then exit;
v[y]:=true;
end;
end;
inc(t);
ans[t]:=b;
end; begin
readln(n);
m:=(n-)*n div ;
for i:= to m do
read(a[i]);
sort(,m);
for i:= to n+ do
if a[i]<>a[i-] then check(i);
writeln(t);
for i:= to t do
begin
for j:= to n do
write(ans[i,j],' ');
writeln;
end;
end.

最新文章

  1. 北京电子科技学院(BESTI)实验报告4
  2. CSS样式之优先级
  3. mysql优化记录
  4. volley_缓存介绍
  5. Python好用的网站收集
  6. 在Linux中创建静态库和动态库
  7. JAVA多线程解惑之多线程返回值
  8. CSS样式类型
  9. Rails核心组件
  10. 【动画】JQuery实现冒泡排序算法动画演示
  11. HTML列表与表格
  12. mySql 数据库中间件 atlas的使用
  13. Charles手机抓包设置&amp;无法打开火狐网页设置
  14. Web应用程序项目XXXX已配置为使用IIS。无法访问IIS 元数据库。您没有足够的特权访问计算机上的IIS
  15. MySQL 5.7 新特性大全和未来展望
  16. JavaScript概念之screen/client/offset/scroll/inner/avail的width/left 分类: JavaScript HTML+CSS 2015-05-27 16:42 635人阅读 评论(0) 收藏
  17. 【DIOCP-DEMO说明】所有演示DEMO的简要说明
  18. numpy中loadtxt 的用法
  19. Simple2D-15(音乐播放器)使用 glfw 库
  20. Fatal error: Call to undefined function Think\C() in /var/www/html/ceshi.hzheee.com/think/ThinkPHP/Library/Think/Think.class.php on line 334 这个问题解决

热门文章

  1. P1676陶陶吃苹果 - vijos
  2. MySQL数据库双机热备份
  3. 【HDOJ】【1512】Monkey King
  4. nodeJS实战
  5. [转载]C++ CString与int 互转
  6. mysql 常用操作
  7. 安卓 unit 测试与 instrument 测试的代码共享
  8. linux入门教程(八) Linux磁盘管理
  9. RMQ和LCA
  10. js捕捉浏览器关闭事件-兼容几乎所有浏览器