• 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 }
  • 相关阅读:
    Winform使用ML.NET时无法加载 DLL“CpuMathNative”问题的解决方法
    离线安装nuget包EPPlus
    码云上webide怎么提交
    EXCEL中自定义格式输入的数据怎么完整复制
    远程桌面剪贴板不好用了
    电脑里明明安装了net4.7但是VS里不显示?
    微信公众号里的音频怎么下载
    Hibernate-ORM:06.Hibernate中三种状态
    Hibernate-ORM:05.Hibernate中的list()和iterator()
    Hibernate-ORM:04.Hibernate中的get()和load()
  • 原文地址:https://www.cnblogs.com/Aa1039510121/p/5857818.html
Copyright © 2020-2023  润新知