zoukankan      html  css  js  c++  java
  • 1431 快乐排队

    题目来源: CodeForces
    基准时间限制:1 秒 空间限制:131072 KB 分值: 

    有一群人在排队,如果某个人想排到前面去,可以花一元钱给直接站在他前面的人,然后和这个人交换位置。如果自己没有钱了,就不能和前面的人交换。

    但是呢,队列里面的人觉得排他前面的所有人一定要比较有钱的,至少不能比他自己拿的少。否则里面就会有人生气。站在队头的人一定是高兴的。

    现在给出一个队列的初始状态,问能不能调整队列,使得里面的人都高兴。

    样例解释:样例1中,队尾的人可以和前面的人交换,变成9 10。

    Input
    单组测试数据。
    第一行包含一个整数n (1 ≤ n ≤ 200,000),表示队列中的人数。
    第二行包含n个空格分开的整数 ai (0 ≤ ai ≤ 10^9),ai表示队列中第i个人手上拿的钱。编号从队尾开始。
    Output
    对于每一组数据如果能够使得所有人高兴输出Happy,否则输出Sad。
    Input示例
    2
    11 8
    2
    9 8
    Output示例
    Happy
    Sad
    思路:可以发现下标加上数值是个定值所以,只要判重就可以了;
     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<stdlib.h>
     4 #include<queue>
     5 #include<map>
     6 #include<stack>
     7 #include<string.h>
     8 #include<iostream>
     9 #define FOR(i,n) for (i = 0;i < n;i++)
    10 #define SC(n) scanf("%d",&n);
    11 using namespace std;
    12 const int BufferSize=1<<16;
    13 char buffer[BufferSize],*head,*tail;
    14 inline char Getchar()
    15 {
    16     if(head==tail)
    17     {
    18         int l=fread(buffer,1,BufferSize,stdin);
    19         tail=(head=buffer)+l;
    20     }
    21     return *head++;
    22 }
    23 inline int read()
    24 {
    25     int x=0,f=1;
    26     char c=Getchar();
    27     for(; !isdigit(c); c=Getchar()) if(c=='-') f=-1;
    28     for(; isdigit(c); c=Getchar()) x=x*10+c-'0';
    29     return x*f;
    30 }
    31 int ans[500000];
    32 map<int,int>my;
    33 int main(void)
    34 {
    35     int c;
    36     c = read();
    37     int flag = 0;
    38     int i;
    39     FOR(i,c)
    40     {
    41         ans[i] = read();
    42         ans[i] = ans[i]+i;
    43     }
    44     sort(ans,ans+c);
    45     int x = ans[0];
    46     for(i = 1; i < c; i++)
    47     {
    48         if(ans[i]==x)
    49         {
    50             flag = 1;break;
    51         }
    52         x = ans[i];
    53     }
    54     if(flag)printf("Sad
    ");
    55     else printf("Happy
    ");
    56     return 0;
    57 }

    代码库

  • 相关阅读:
    删除系统盘符
    响应式设计 @media
    精通CSS 学习笔记
    兼容性
    css border-collapse
    angular.js学习 ui-router 0.2.15
    javascript的简易发布/订阅模式
    javascript 切换上下文,事件绑定中改变this指向
    SpringMVC:提交日期类型报400错误解决方法
    解决Spring Mvc中接受参数绑定重名的方法
  • 原文地址:https://www.cnblogs.com/zzuli2sjy/p/5994738.html
Copyright © 2011-2022 走看看