zoukankan      html  css  js  c++  java
  • P1290sk抓螃蟹

    背景

    sk,zdq想在hzy生日之际送hzy几只螃蟹吃。。。

    描述

    现有n只螃蟹,每个在一个二维作标上,保证没有任何两个螃蟹重合。sk伸手抓螃蟹 了,他怕螃蟹的攻击,当他捉一只螃蟹时,其他螃蟹都朝这只运动(左边的向右,右边的向左,x作标相同的不动)。当然,螃蟹只会在x方向上横行,每秒一单位 长度。sk捉一只螃蟹一秒钟,当本秒末若某一只螃蟹与msk的手同x作标,sk的行动失败。问:怎样做才能抓完n只螃蟹?

    格式

    输入格式

    输入
    第一行:n。
    第二行有2*n正整数,相邻两个用一空格分开,第2*i-1和第2*i个数表示编号为i的螃蟹的x,y作标。输入保证按先x后y的递增序排列。

    输出格式

    输出:
    一共n行,每行一个螃蟹编号,表示sk取螃蟹的先后序列。如有多解,输出第一个编号最小的,如果第一个编号相同,输出第二个编号最大的,再相同,输出第三个编号最小的......

    样例1

    样例输入1[复制]

    2
    1 3 4 2

    样例输出1[复制]

    1
    2

    样例2

    样例输入2[复制]

    1
    10 5

    样例输出2[复制]

    1

    限制

    每个测试点一秒

    提示

    hint
    输入数据保证有解...
    n<=5000.
    0<=所有作标<=2^31-1
    本题很简单 我后面才发现原来  一共n行,每行一个螃蟹编号,表示sk取螃蟹的先后序列。如有多解,输出第一个编号最小的,如果第一个编号相同,输出第二个编号最大的,再相同,输出第三个编号最小的......这才是题意 我服了

    水题

     1 #include<iostream>
     2 #include<cstdio>
     3 typedef long long ll;
     4 using namespace std;
     5 struct node
     6 {
     7     int x,y;
     8 }a[5005];
     9 int main()
    10 {
    11     int n,i;
    12     scanf("%d",&n);
    13     for(i=1;i<=n;i++)
    14         scanf("%d%d",&a[i].x,&a[i].y);
    15     for(i=1;i<=n;i++)
    16     {
    17         if(i%2!=0)
    18             printf("%d
    ",i/2+1);
    19         else
    20             printf("%d
    ",n-i/2+1);
    21     }
    22 }
  • 相关阅读:
    ExcelUtil工具类-1
    图论-floyd算法-python实现
    流式编程一些简单的例子
    利用Stream实现简单的等差数列求和
    根据主机IP列表自动部署指定规模的redis cluster
    使用cgroup限制磁盘io读写速率
    consul kv导出和导入(备份)
    mysql8.0 运维相关新特性(未完待续)
    Rider写ASP.NET MVC调试报错
    网络协议知识串讲:搭建一个网络试验环境:授人以鱼不如授人以渔
  • 原文地址:https://www.cnblogs.com/Aa1039510121/p/5857818.html
Copyright © 2011-2022 走看看