zoukankan      html  css  js  c++  java
  • 洛谷-陶陶摘苹果(升级版)-BOSS战-入门综合练习1

    题目描述 Description
      又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。
      这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然,每次摘苹果时都要用一定的力气。陶陶想知道在s<0之前最多能摘到多少个苹果。
        现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,陶陶摘一个苹果需要的力气yi,求陶陶最多能摘到多少个苹果。
     输入输出格式 Input/output
    输入格式:
      第1行:两个数 苹果数n,力气s。
      第2行:两个数 椅子的高度a,陶陶手伸直的最大长度b。
      第3行~第3+n-1行:每行两个数 苹果高度xi,摘这个苹果需要的力气yi。
    输出格式:
    只有一个整数,表示陶陶最多能摘到的苹果数。
     输入输出样例 Sample input/output
    样例测试点#1
    输入样例:

    8 15
    20 130
    120 3
    150 2
    110 7
    180 1
    50 8
    200 0
    140 3
    120 2

    输出样例:

    4

    思路:这题很简单,不解释了,浅显易懂。O(∩_∩)O(记得要用全局变量)。

    代码如下:

     1 #include<stdio.h>  
     2 int h[5002],m[5002],i=1,s,n,a,b,j=1,ans;  
     3 void kp(int l,int r)  
     4 {  
     5     int i=l,j=r,x,t;  
     6     x=m[(i+j)/2];    
     7     while(i<=j) 
     8     {  
     9         while(m[i]<x) i++;   
    10         while(x<m[j]) j--;   
    11         if(i<=j) 
    12         {
    13             t=m[i];
    14             m[i]=m[j];
    15             m[j]=t;
    16             i++;
    17             j--;
    18         }  
    19     }    
    20     if(l<j) kp(l,j);   
    21     if(i<r) kp(i,r);  
    22 }   
    23   
    24 int main()  
    25 {  
    26     scanf("%d%d%d%d",&n,&s,&a,&b); 
    27     for(i=1;i<=n;i++)  
    28     {
    29         scanf("%d%d",&h[j],&m[j]);
    30         if(h[j]<=a+b)
    31         {
    32             j++;
    33         }
    34     }
    35     j--;  
    36     kp(1,j);  
    37     for(i=1;i<=j;i++)  
    38     {
    39         if(m[i]<=s)
    40         {
    41             s-=m[i];ans++;
    42         }
    43     }  
    44     printf("%d
    ",ans); 
    45     return 0;  
    46 }
  • 相关阅读:
    【EFCORE笔记】自动生成属性的显式值
    【EFCORE笔记】更新数据的多种方案
    【EFCORE笔记】添加数据的多种方案
    【EFCORE笔记】多租户系统的最佳实践
    【EFCORE笔记】全局查询筛选器
    【EFCORE笔记】异步查询&工作原理&注释标记
    【EFCORE笔记】执行原始SQL查询
    003_Redis后台启动(windows10与)
    Office 2010后 如何保存新的样式集
    Mysql启动 发生系统错误 1067
  • 原文地址:https://www.cnblogs.com/geek-007/p/4417449.html
Copyright © 2011-2022 走看看