NOI1997
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的更多相关文章
- 动态规划(水题):COGS 261. [NOI1997] 积木游戏
261. [NOI1997] 积木游戏 ★★ 输入文件:buildinggame.in 输出文件:buildinggame.out 简单对比时间限制:1 s 内存限制:128 MB S ...
- [NOI1997] 积木游戏
COGS 261. [NOI1997] 积木游戏 http://www.cogs.pro/cogs/problem/problem.php?pid=261 ★★ 输入文件:buildinggame ...
- [NOI1997] 积木游戏(dp)
COGS 261. [NOI1997] 积木游戏 http://www.cogs.pro/cogs/problem/problem.php?pid=261 ★★ 输入文件:buildinggame ...
- 题解【洛谷P5767】[NOI1997]最优乘车
题面 一道很经典的最短路模型转换问题. 考虑如何建图. 我们可以发现,对于每一条公交线路,可以将这条线路上 可以到达的两个点 连一条权值为 \(1\) 的边. 获取一条公交线路上的每一个点可以使用读取 ...
- ZJOI2017 Day1
私のZJOI Day1 2017-3-21 07:52:53 有人在暴力膜 苟-- 富贵 无相忘 ZJOI2017交流群 133135071 如果你足够厉害 如果你足够厉害 如果你足够厉害 其实完全可 ...
随机推荐
- 重庆Uber优步司机奖励政策
获得任何奖励的前提条件:当周接单率80%以上,当周乘客评分4.5分以上,且无刷单等欺诈行为. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最 ...
- SpringBoot-03:SpringBoot+Idea热部署
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 所谓热部署,就是在项目启动中,修改class类中做的修改操作,无需重新启动项目,就可以变更,在网页展示中有 ...
- 全局脚手架了解一下【fle-cli】
本文来自网易云社区 介绍 fle-cli旨在帮助我们从复杂繁琐的编译配置中解放出来,全身心地投入业务开发中,提高开发效率. 它是真正意义上的全局脚手架,区别于市面上其他的全局脚手架,它不会在项目工程中 ...
- ogg的安装配置 配置双向同步(含DDL)
第一部分 先配置单向同步(含DDL) 一 源端安装GoldenGate 创建用户 创建目录 mkdir -p /opt/ogg chmod -R 777 /opt/ogg chown -R oracl ...
- 在Win10中通过命令行打开UWP应用
近期由于需要在WinX菜单中添加几个UWP应用,但发现很难找到相应的命令行,Universal Apps 的快捷方式属性里也没有. 于是到网上搜了很久才找到一个E文的页面,试了一下确实可行,分享给大家 ...
- JDK1.8改为JDK1.7过程
电脑之前eclipse版本要求JDK1.8版本,现在要用jboss7.1做性能测试,目前仅支持JDK7.故需要降级. 网上有很多说把1.8删掉,这种做法我是不建议的,那么要用的时候呢?又得装回来多蛋疼 ...
- [Clr via C#读书笔记]Cp18 定制Attribute
Cp18 定制Attribute 意义 利用Attribute,可以声明性的给自己的代码结构创建注解,从而实现一些特殊的功能:最终在元数据中生成,这种可扩展的元数据信息可以在运行时的时候查询,从而动态 ...
- openstack架构
终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版 ...
- ThinkPHP - 4 - 学习笔记(2015.4.12)
ThinkPHP D方法 D方法用于实例化自定义模型类,是ThinkPHP框架对Model类实例化的一种封装,并实现了单例模式,支持跨项目和分组调用,调用格式如下:D('[项目://][分组/]模型' ...
- 编译安装hadoop2.6.3
一.安装环境 1.1 JAVA 安装java1.7 下载jdk1.7: [root@node1~]# wget http://download.oracle.com/otn-pub/java/jd ...