noi4_1_1999[日志排序]

复杂的判断&多余的空格=n个wrong answer

type event=record
            st:string[100];
            year,mon,day,hour,min,sec,lse:integer;
            t:longint;
           end;
var a:array[1..10000] of event;
    n:longint;

function bigger(i,j:integer):boolean;
begin
 if a[i].year>a[j].year then exit(true);
 if a[i].year<a[j].year then exit(false);
 if a[i].mon>a[j].mon then exit(true);
 if a[i].mon<a[j].mon then exit(false);
 if a[i].day>a[j].day then exit(true);
 if a[i].day<a[j].day then exit(false);
 if a[i].hour>a[j].hour then exit(true);
 if a[i].hour<a[j].hour then exit(false);
 if a[i].min>a[j].min then exit(true);
 if a[i].min<a[j].min then exit(false);
 if a[i].sec>a[j].sec then exit(true);
 if a[i].sec<a[j].sec then exit(false);
 if a[i].lse>a[j].lse then exit(true);
 if a[i].lse<a[j].lse then exit(false);
 exit(false);
end;

procedure scanf;
var k:longint;
    s:string;
    tmp:real;
begin
 n:=0;
 readln(s);
 while s<>‘‘ do
  begin
   inc(n);
   a[n].st:=s;
   while s[1]=‘ ‘ do delete(s,1,1);
   k:=pos(‘ ‘,s);
   delete(s,1,k);
   while s[1]=‘ ‘ do delete(s,1,1);
   k:=pos(‘-‘,s);
   val(copy(s,1,k-1),a[n].year);
   delete(s,1,k);
   k:=pos(‘-‘,s);
   val(copy(s,1,k-1),a[n].mon);
   delete(s,1,k);
   k:=pos(‘ ‘,s);
   val(copy(s,1,k-1),a[n].day);
   delete(s,1,k);
   while s[1]=‘ ‘ do delete(s,1,1);
   k:=pos(‘:‘,s);
   val(copy(s,1,k-1),a[n].hour);
   delete(s,1,k);
   k:=pos(‘:‘,s);
   val(copy(s,1,k-1),a[n].min);
   delete(s,1,k);
   k:=pos(‘,‘,s);
   val(copy(s,1,k-1),a[n].sec);
   delete(s,1,k);
   k:=pos(‘ ‘,s);
   val(copy(s,1,k-1),a[n].lse);
   delete(s,1,k);
   while s[1]=‘ ‘ do delete(s,1,1);
   k:=pos(‘(‘,s);
   val(copy(s,1,k-1),tmp);
   a[n].t:=trunc(tmp*1000);
   readln(s);
  end;
end;

procedure sort;
var i,j:longint;
    tmp:event;
begin
 for i:=1 to n-1 do
  for j:=i+1 to n do
   if (a[i].t>a[j].t)or((a[i].t=a[j].t)and(bigger(i,j))) then
    begin
     tmp:=a[i];
     a[i]:=a[j];
     a[j]:=tmp;
    end;
end;

procedure printf;
var i:longint;
begin
 for i:=1 to n do
  writeln(a[i].st);
end;

begin
 scanf;
 sort;
 printf;
end.
时间: 2024-10-10 17:21:47

noi4_1_1999[日志排序]的相关文章

Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,error.log 等)中获取所需日志列表 合并日志列表 升序排序 输出日志报告 结果最后获取日志信息后,发现实际产出结果与预期结果不相符,如下所示: 1 2016-04-10 22:54:23,042 - INFO - [main] [cn.ffp.autotest.api.report.Repor

[LeetCode] 937. Reorder Data in Log Files 日志文件的重新排序

You have an array of?`logs`.? Each log is a space delimited string of words. For each log, the first word in each log is an alphanumeric?identifier.? Then, either: Each word after the identifier will consist only of lowercase letters, or; Each word a

git的常用命令(一)

Git配置: git config --global user.name "Tina Gao" git config --global user.email "[email protected]" 执行了以上命令后就会在home目录下建立一个.gitconfig的文件,可以查看内容:cat ~/.gitconfig Clone一个仓库:git clone http:.... 初始化一个新的仓库: mkdir project cd project git init 创

Git 实战教程

CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而大家工作的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始工作,工作完成,再把自己的修订推送给中央服务器.这类系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新. 那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布

NoSQL数据库介绍(6)

6 面向列的数据库 在本章中将研究第三类NoSQL数据存储:面向列的数据库.以列来替代行存储和处理数据的方法起源于分析和商业智能,在一个无共享的大规模并行处理(注:MPP)架构中的列存储可用于构建高性能应用.这一领域引人注目的产品是Sybase IQ和Vertica([ Nor09 ]).然而,在这一章中,面向列的存储类型被视为少一些纯粹性,也包括了整合面向列和行的数据存储.它们也被描述为"[稀疏的].分布式的.持久的多维排序[映射]"(例如[ Int10 ]).面向列的存储的主要灵感

Redis系统学习 四、超越数据结构

5种数据结构组成了Redis的基础,其他没有关联特定数据结构的命令也有很多.我们已经看过一些这样的命令:info,select,flushdb,multi,exec,discard,watch,和keys.这一章将看看其他的一些重要命令. 使用期限(Expiration) Redis允许你标记一个关键字的使用期限.你可以给与一个Unix时间戳形式(1970 01 01 起)的绝对时间,或者一个基于秒的存活时间.这是一个基于关键字的命令,因此其不在乎关键字表示的是哪种类型的数据结构. expire

Git基本用法(上)

一.git的初始化 1.Git 配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名. $ git config --global user.name "Scott Chacon" $ git config --global user.email "[email protected]" 执行了上面的命令后,会在家目录(/home)下建立一个叫.gitconfig 的文件(该文件问隐藏文件,需要使用ls -al查看到). 内容一

git用法大全

转载自实验楼,之前有更新过两篇git的文章,毕竟内容太少,而git还有很多更丰富的技能,在实验楼上有一系列全的教程,这里做一下备案.需要时查阅. Git 实战教程 目录 一.实验说明 二.git的初始化 1.Git 配置 三.获得一个Git仓库 1.Clone一个仓库 2.初始化一个新的仓库 四.正常的工作流程 1. 正常的工作流程 五.分支与合并 1.分支 2. 撤销一个合并 3.快速向前合并 六.Git日志 1.查看日志 2.日志统计 3.格式化日志 4.日志排序 七.小结 八.练习 一.实

整理小朋友在noi.openjudge上的作业(4)

第四章(含小学奥数)计97题,已完成8题 4.1 算法之排序和算法性能   题目ID 标题 分数 尝试人数   1625 Sequence Median 10 90   1754 字符串数组排序问题 10 49   1999 日志排序 10 50   4363 瑞士轮 10 101 4.2 算法之数论   题目ID 标题 分数 尝试人数   1350 Euclid's Game 10 223   1486 A Funny Game 10 70   185 反正切函数的应用 10 44   241