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 如果你足够厉害 如果你足够厉害 如果你足够厉害 其实完全可 ...
随机推荐
- 洛谷P4136 谁能赢呢?
题目描述 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问 ...
- 北京Uber优步司机奖励政策(3月11日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Spring Boot 2.x Redis多数据源配置(jedis,lettuce)
Spring Boot 2.x Redis多数据源配置(jedis,lettuce) 96 不敢预言的预言家 0.1 2018.11.13 14:22* 字数 65 阅读 727评论 0喜欢 2 多数 ...
- springboot 常用依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven ...
- 前端开发工程师 - 01.页面制作 - 第3章.HTML
第3章--HTML HTML简介 Hyper Text Markup Language:超文本标记语言--用于标记网页的内容 history: html(1991)雏形 -> html4.01( ...
- leetcode-第k个排列(Java和c++版)
第k个排列 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列. 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123" " ...
- Redis 数据结构服务器
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- kosaraju求强连通分量
在了解kosaraju算法之前我们先了解一下什么是强连通分量,在有向图中如果两个定点vi,ui存在一条路劲从vi到达ui且也存在一条路劲从ui到达vi那么由ui和vi这两个点构成的图成为强连通图,简洁 ...
- RNN概述-深度学习 -神经网络
一 RNN概述 前面我们叙述了BP算法, CNN算法, 那么为什么还会有RNN呢?? 什么是RNN, 它到底有什么不同之处? RNN的主要应用领域有哪些呢?这些都是要讨论的问题. 1) BP算法 ...
- 今日头条 2018 AI Camp 5 月 26 日在线笔试编程题第一道——最佳路径
题目 给定一个 n*m 的矩阵 A ,矩阵中每一个元素为一个十六进制数.寻找一条从左上角都右下角的路径,每次只能向右或者向下移动, 使得路径上所有数字之积在 16 进制下的后缀 0 最少. 输入描述: ...