• 【洛谷】P2694 接金币(排序)


    题目描述

    在二维坐标系里,有N个金币,编号0至N-1。初始时,第i个金币的坐标是(Xi,Yi)。所有的金币每秒向下垂直下降一个单位高度,例如有个金币当前坐标是(xf, yf),那么t秒后金币所在的位置就是(xf, yf-t)。初始时,FJ在(0,0)坐标处,FJ每秒只能向左移动一个单位距离或者向右移动一个单位距离,当然FJ也可以不移动。如果在某个时刻某个金币和FJ所在的位置重合,那么FJ就能接住这个金币。FJ能否把所有的金币都接住?如果行输出Abletocatch,否则输出Notabletocatch。

    输入输出格式

    输入格式:

    多组测试数据。

    第一行,一个整数G,表示有G组测试数据。1 <= G <= 5。

    每组测试数据格式如下:

    第一行,一个整数N。 1 <= N <= 50。

    接下来有N行,第i行两个整数表示Xi、Yi。

      -1000<=Xi<=1000。0<=Yi<=1000。

    输出格式:

    共G行,每行输出Abletocatch或Notabletocatch。

    输入输出样例

    输入样例#1:
    5
    3
    -1 1
    1 3
    0 4
    1
    -3 2
    3
    -1 1
    1 2
    0 4
    3
    0 9
    -1 1
    1 3
    8
    70 141
    -108 299
    52 402
    -70 280
    84 28
    -29 363
    66 427
    -33 232

    输出样例#1:
    Abletocatch
    Notabletocatch
    Notabletocatch
    Abletocatch
    Notabletocatch
    
    --------------------------------------------------------------------
    分析:日常切水题。以y为标准从大到小排序,那么只要前后两个x之差的绝对值大于y之差的绝对值,那么FJ就来不及跑到那里,Notabletocatch。否则Abletocatch。
     1 #include <cstdio>
     2 #include <cmath>
     3 #include <algorithm>
     4 using namespace std;
     5 struct coins
     6 {
     7     int x,y;
     8 }a[100000];
     9 bool cmp(coins a,coins b)
    10 {
    11     if(a.y<=b.y) return true;
    12     return false;
    13 }
    14 int main()
    15 {
    16     int g,n;
    17     scanf("%d",&g);
    18     while(g--)
    19     {
    20         bool flag=false;
    21         scanf("%d",&n);
    22         a[0].x=a[0].y=0;n++;
    23         for(int i=1;i<n;i++)
    24         {
    25             scanf("%d%d",&a[i].x,&a[i].y);
    26         }
    27         sort(a,a+n,cmp);
    28         for(int i=0;i<n-1;i++)
    29         {
    30             if(abs(a[i].x-a[i+1].x)>abs(a[i+1].y-a[i].y))
    31             {
    32                 printf("Notabletocatch
    ");
    33                 flag=true;
    34                 break;
    35             }
    36         }
    37         if(!flag) printf("Abletocatch
    ");
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    ASP.NET Core 集成 WebSocket
    如何在CentOS7上安装桌面环境?
    Visual Studio 2017 远程调试(Remote Debugger)应用
    cmd sc命令进行服务操作
    EntityFrameworkCode 操作MySql 相关问题
    Windows下安装PHP开发环境
    未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
    System.Runtime.InteropServices.COMException (0x800A03EC): 无法访问文件
    c# WinFo判断当前程序是否已经启动或存在的几种方式
    MVC自定义视图引擎地址
  • 原文地址:https://www.cnblogs.com/noblex/p/7676438.html
Copyright © 2020-2023  润新知