zoukankan      html  css  js  c++  java
  • 下落

    [问题描述]
    在直角坐标系上,有一个小球开始从坐标(x,y) x>0,y>0 处直线下落,每一秒钟一个单位距离,一直到X轴为止。然而,它可能在下落过程中碰到一些障碍物。障碍物可以看成是一些平行于X轴的水平线段,如果小球的Y坐标和障碍物的Y坐标相等,而X坐标在障碍物的两个端点X坐标之间(包括两个端点),这样小球就会延时5秒然后从障碍物的右端继续下落。
    现给出小球的初始坐标 (x,y) ,以及每个障碍物的数据(三个整数 y x1 x2,分别表示这个障碍物的Y坐标,左、右端点的X坐标),编程求小球要几称钟才能到达X轴上。
    [输入文件:fall.in]
    第一行有两个整数x y表示小球初始坐标,1<=x,y<=1000。第二行有一个整数n(n<100),表示有n个障碍物。
    下面有n行,每行三个整数(都在1到999之间),分别表示一个障碍物的数据(y x1 x2),其中x1<=x2。障碍物的高度都不相同。
    [输出文件:fall.out]
    只一个整数,小球下落到X轴的秒数。

    [题解]

    暴力!

    [代码]

    var
      xx,yy,n,ans:longint;
      y,x1,x2:array [0..101] of longint;
    procedure init;
    var
      i:longint;
    begin
      readln(xx,yy);
      readln(n);
      for i:=1 to n do
        readln(y[i],x1[i],x2[i]);
      ans:=yy;
    end;
    
    procedure qsort(l,r:longint);
    var
      i,j,mid,t:longint;
    begin
      if l>r then exit;
      i:=l; j:=r;
      mid:=y[(l+r) div 2];
      repeat
        while y[i]>mid do inc(i);
        while y[j]<mid do dec(j);
        if i<=j then
          begin
            t:=y[i]; y[i]:=y[j]; y[j]:=t;
            t:=x1[i]; x1[i]:=x1[j]; x1[j]:=t;
            t:=x2[i]; x2[i]:=x2[j]; x2[j]:=t;
            inc(i); dec(j);
          end;
      until i>j;
      qsort(i,r);
      qsort(l,j);
    end;
    
    procedure main;
    var
      i:longint;
    begin
      for i:=1 to n do
        if (yy>=y[i]) and (x1[i]<=xx) and (xx<=x2[i]) then
          begin
            inc(ans,5);
            xx:=x2[i];
          end;
      write(ans);
    end;
    
    begin
      assign(input,'fall.in');
      assign(output,'fall.out');
      reset(input);
      rewrite(output);
      init;
      qsort(1,n);
      main;
      close(input);
      close(output);
    end.
    
    
  • 相关阅读:
    Ubuntu安装最新版的nodejs
    Mac安装并破解OmniGraffle7
    Mac安装并破解StarUML
    Windows10使用Chocolatey安装mysql之后无法使用的解决办法
    Visual Studio编辑类模板的位置
    VS2017连接到中国区的Azure
    Windows上包管理器之Chocolatey初体验
    CENTOS7.3 64位架设使用MYSQL数据库的ASP.NET CORE网站
    从无到有开发自己的Wordpress博客主题---主页模板
    c# 获得方法的所属类(或调用者)的类名,方法名
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319550.html
Copyright © 2011-2022 走看看