• 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 }
  • 相关阅读:
    第七讲 宋词:婉约之曲与豪放之声
    P2024 食物链
    可以吹一年的事
    信息传递
    11.11模拟赛总结(又名斗地主战记)
    11.9模拟赛总结
    扩展欧几里得(exgcd模板)
    发糖果(拓扑排序模板)
    高斯消元
    关于我
  • 原文地址:https://www.cnblogs.com/Aa1039510121/p/5857818.html
Copyright © 2020-2023  润新知