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. python 安装 MySQL-python

    $python >>> import MySQLdb Traceback (most recent call last): File "<stdin>" ...

  2. Wireshark对HTTPS数据的解密

    本文来自网易云社区 之前有介绍<wireshark抓包分析--TCP/IP协议>,然后某天有人问我,示例里是HTTP的,如果是HTTPS,你可以抓包分析吗?基于好奇,我查阅了下相关资料,把 ...

  3. hdu1257最少拦截系统(暴力)

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  4. 浅谈如何提高自动化测试的稳定性和可维护性 (pytest&allure)

    装饰器与出错重试机制 谈到稳定性,不得不说的就是“出错重试”机制了,在自动化测试中,由于环境一般都是测试环境,经常会有各种各种的抽风情况影响测试结果,这样就为测试的稳定性带来了挑战,毕竟谁也不想自己的 ...

  5. Git与远程仓库关联以及关联错误解决方法

    假设你github的用户名是  helloworld  ,你在上面创建了一个 名为 hello 的 repository. 一. 与本地仓库进行关联 1.1用原生ssh进行关联,速度快: git re ...

  6. Python教程:Python中的for 语句

    Python 中的 for 语句与你在 C 或 Pascal 中可能用到的有所不同. Python教程 中的 for 语句并不总是对算术递增的数值进行迭代(如同 Pascal),或是给予用户定义迭代步 ...

  7. ObjectMapper的使用

    Jackson ObjectMapper类 ObjectMapper类是Jackson库的主要类它提供一些功能将Java对象转换成JSON结构,反之亦然它使用JsonParser和JsonGenera ...

  8. 代码对齐 (Alignment of Code,ACM/ICPC NEERC 2010,UVa1593)

    题目描述: 解题思路: 输入时提出单个字符串,并用一个数组记录每列最长长度,格式化输出 #include <iostream> #include <algorithm> #in ...

  9. 什么是Spark

    什么是Spark Apache Spark是一个开源集群运算框架, 相对于Hadoop的MapReduce会在运行完工作后将中介数据存放到磁盘中,Spark使用了存储器内运算技术,能在数据尚未写入硬盘 ...

  10. java poi技术读取到数据库

    https://www.cnblogs.com/hongten/p/java_poi_excel.html java的poi技术读取Excel数据到MySQL 这篇blog是介绍java中的poi技术 ...