T1 竞赛排名

分析:模拟

超级大模拟,太弱了,写个模拟都要2个小时。。写的又难看又麻烦。。还需努力

 var
n,i,j,k:longint;
t1:real;
x,y:array[..,..] of real;
sum,sumy,s1,s2:array[..] of real;
sigma,avg,s:array[..] of real;
begin
assign(input,'competitionsort.in');
reset(input);
assign(output,'competitionsort.out');
rewrite(output);
readln(n);
for i:= to n do
begin
for j:= to do
begin
read(x[i,j]);
sum[i]:=sum[i]+x[i,j];
sigma[j]:=sigma[j]+x[i,j];
end;
readln;
x[i,]:=i;
end; {for i:=1 to n do begin
for j:=1 to 9 do write(x[i,j]:0:0,' '); writeln; end; }
//for i:= to n do writeln(sum[i]::);
//for i:= to do write(sigma[i]::,' '); for j:= to do
avg[j]:=sigma[j]/n;
// for i:= to do write(avg[i]::,' '); for j:= to do
for i:= to n do s[j]:=s[j]+abs(x[i][j]-avg[j]);
//for j:= to do writeln(s[j]);
for i:= to n do
for j:= to do
if s[j]= then y[i,j]:=
else y[i,j]:=(x[i][j]-avg[j])/(s[j]/n); {for i:=1 to n do begin
for j:=1 to 8 do write(y[i,j]:0:5,' '); writeln; end;} for i:= to n do
begin
for k:= to do
s1[i]:=s1[i]+y[i,k]; for k:= to do
s2[i]:=s2[i]+y[i,k]; end;
{for i:=1 to n do
writeln(s1[i]:0:5,' ',s2[i]:0:5); }
for i:= to n do
sumy[i]:=s1[i]+0.8*s2[i]; {for i:=1 to n do
writeln(sumy[i]:0:5); } for i:= to n- do
begin
k:=i;
for j:=i+ to n do
if (sumy[k]<sumy[j]) or
((sumy[k]=sumy[j])and(sum[k]<sum[j])) or
((sumy[k]=sumy[j])and(sum[k]=sum[j])and(x[k,]>x[j,])) then k:=j;
if k<>i then begin
t1:=sumy[k]; sumy[k]:=sumy[i]; sumy[i]:=t1;
t1:=sum[k]; sum[k]:=sum[i]; sum[i]:=t1;
t1:=x[k,]; x[k,]:=x[i,]; x[i,]:=t1;
end;
end;
for i:= to n do writeln(x[i,]::);
close(input);
close(output);
end.

程序初步

 var
n,i,j,k:longint;
t1:real;
x,y:array[..,..] of real;
sum,sumy,s1,s2:array[..] of real;
sigma,avg,s:array[..] of real;
begin
assign(input,'competitionsort.in');
reset(input);
assign(output,'competitionsort.out');
rewrite(output);
readln(n);
for i:= to n do
begin
for j:= to do
begin
read(x[i,j]);
sum[i]:=sum[i]+x[i,j];
sigma[j]:=sigma[j]+x[i,j];
end;
readln;
x[i,]:=i;
end;
for j:= to do
avg[j]:=sigma[j]/n;
for j:= to do
for i:= to n do s[j]:=s[j]+abs(x[i][j]-avg[j]);
for i:= to n do
for j:= to do
if s[j]= then y[i,j]:=
else y[i,j]:=(x[i][j]-avg[j])/(s[j]/n);
for i:= to n do
begin
for k:= to do
s1[i]:=s1[i]+y[i,k];
for k:= to do
s2[i]:=s2[i]+y[i,k];
end;
for i:= to n do
sumy[i]:=s1[i]+0.8*s2[i];
for i:= to n- do
begin
k:=i;
for j:=i+ to n do
if (sumy[k]<sumy[j]) or
((sumy[k]=sumy[j])and(sum[k]<sum[j])) or
((sumy[k]=sumy[j])and(sum[k]=sum[j])and(x[k,]>x[j,])) then k:=j;
if k<>i then begin
t1:=sumy[k]; sumy[k]:=sumy[i]; sumy[i]:=t1;
t1:=sum[k]; sum[k]:=sum[i]; sum[i]:=t1;
t1:=x[k,]; x[k,]:=x[i,]; x[i,]:=t1;
end;
end;
for i:= to n do writeln(x[i,]::);
close(input);
close(output);
end.

我的程序

NOI1997的更多相关文章

  1. 动态规划(水题):COGS 261. [NOI1997] 积木游戏

    261. [NOI1997] 积木游戏 ★★   输入文件:buildinggame.in   输出文件:buildinggame.out   简单对比时间限制:1 s   内存限制:128 MB S ...

  2. [NOI1997] 积木游戏

    COGS 261. [NOI1997] 积木游戏 http://www.cogs.pro/cogs/problem/problem.php?pid=261 ★★   输入文件:buildinggame ...

  3. [NOI1997] 积木游戏(dp)

    COGS 261. [NOI1997] 积木游戏 http://www.cogs.pro/cogs/problem/problem.php?pid=261 ★★   输入文件:buildinggame ...

  4. 题解【洛谷P5767】[NOI1997]最优乘车

    题面 一道很经典的最短路模型转换问题. 考虑如何建图. 我们可以发现,对于每一条公交线路,可以将这条线路上 可以到达的两个点 连一条权值为 \(1\) 的边. 获取一条公交线路上的每一个点可以使用读取 ...

  5. ZJOI2017 Day1

    私のZJOI Day1 2017-3-21 07:52:53 有人在暴力膜 苟-- 富贵 无相忘 ZJOI2017交流群 133135071 如果你足够厉害 如果你足够厉害 如果你足够厉害 其实完全可 ...

随机推荐

  1. 【BZOJ3991】寻宝游戏(动态规划)

    [BZOJ3991]寻宝游戏(动态规划) 题面 BZOJ 题解 很明显,从任意一个有宝藏的点开始,每次走到相邻的\(dfs\)的节点就行了. 证明? 类似把一棵树上的关键点全部标记出来 显然是要走一个 ...

  2. PHP使用Redis消息队列

    1.redis安装 参考:菜鸟教程http://www.runoob.com/redis/redis-install.html 2.安装php的redis扩展 1)phpinfo()查看php版本信息 ...

  3. 牛客练习赛26:D-xor序列(线性基)

    链接:牛客练习赛26:D-xor序列(线性基) 题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y 题解:线性基 #inc ...

  4. lintcode 二叉树后序遍历

    /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * Tr ...

  5. python numpy数据相减

    numpy数据相减,a和b两者shape要一样,然后是对应的位置相减.要不然,a的shape可以是(1,m),注意m要等于b的列数. import numpy as np a = [ [0, 1, 2 ...

  6. 【MySQL解惑笔记】忘记MySQL数据库密码

    破解MySQL密码 一.MySQL5.7.5之前 只要有系统root密码就可以破解: [root@host- ~]# vim /etc/my.cnf //在配置文件中加入如下内容 [mysqld] s ...

  7. 【机器学习】多项式回归sklearn实现

    [机器学习]多项式回归原理介绍 [机器学习]多项式回归python实现 [机器学习]多项式回归sklearn实现 使用sklearn框架实现多项式回归.使用框架更方便,可以少写很多代码. 使用一个简单 ...

  8. js实现滑动器效果

    最近公司在做一个项目,页面中要用到滑动器效果,我的第一反应是使用HTML5 input类型中的range类型,但马上我就否定了这个想法,因为range类型存在浏览器的兼容性问题(在主流浏览器中).但又 ...

  9. $http.get(...).success is not a function 错误解决

    $http.get(...).success is not a function 错误解决 1.6 新版本的AngularJs中用then和catch 代替了success和error,用PRomis ...

  10. 寒假作业end

    开始写博客的个人体会 自己打的链表过不了,果然,心存侥幸是不行的,被揪出来也不错,很感谢畅畅酱. 学术诚信的重要性 爱因斯坦说过:"大多数人说是才智造就了伟大的科学家,他们错了,是人格.&q ...