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.
    
    
  • 相关阅读:
    接口自动化(三)--读取json文件中的数据
    接口自动化(二)--操作Excel获取需要数据
    接口自动化(一)--概述
    pycharm(2016.3.2版本)导入工程文件执行程序时弹出Edit configuration
    使用Fiddler实现网络限速
    fiddler工具条、状态栏、请求信息栏各按钮的作用
    修改elementUI源码新增组件/修改组件
    DRF框架的基本组件
    django之原生SQL操作封装
    jqtree使用说明
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319550.html
Copyright © 2011-2022 走看看