zoukankan      html  css  js  c++  java
  • 苹果摘陶陶

    题目背景

    根据2005年的Noip普及组第一题衍生出的一题。

    但是有一点点的恶搞成分在里面.....

    题目描述

    话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份>.<然后把他们挂在树上,准备摘取。

    摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下的[b]最高的[/b]陶陶,如果摘不到的话只能灰溜溜的走开了>.<给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……

    输入输出格式

    输入格式:

    第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m<=2000)

    以下的n行,分别为各个苹果能够到的最大高度。

    再接下来的m行,分别为各个陶陶的高度。

    高度均不高于300。

    当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。

    输出格式:

    输出仅有一个数,是剩下的陶陶的数量

    输入输出样例

    输入样例#1:
    5 5
    9
    10
    2
    3
    1
    6
    7
    8
    9
    10
    
    输出样例#1:
    3

    说明

    很容易的基础题哦>.<

    思路:模拟+排序

    代码实现:

     1 #include<cstdio>
     2 #include<algorithm>
     3 using namespace std;
     4 int n,m,x,y,z,ans;
     5 int a[2010],b[2010];
     6 bool cmp(int a,int b){return a>b;}
     7 int main(){
     8     scanf("%d%d",&n,&m);
     9     for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    10     for(int i=1;i<=m;i++) scanf("%d",&b[i]);
    11     sort(a+1,a+n+1,cmp);
    12     sort(b+1,b+m+1,cmp);
    13     int i=1,j=1;ans=m;
    14     while(i<=n&&j<=m){
    15         if(!b[j]) break;
    16         if(a[i]>b[j])
    17         ans--,i++,j++;
    18         else j++;
    19     }
    20     printf("%d
    ",ans);
    21     return 0;
    22 }

    其实随便搞搞就能够过,然而我竟然打了m--,我一定是脑子出问题了。

    题目来源:洛谷

  • 相关阅读:
    Anaconda使用命令
    排序算法3--插入排序--希尔排序(缩小增量排序)
    排序算法2--插入排序--折半插入排序
    排序算法1--插入排序--直接插入排序
    排序总结---常用的排序算法总结,java和js实现
    前端兼容性问题
    js对象的几种创建方式和js实现继承的方式[转]
    js原型和原型链[转]
    性能优化的方法
    Http状态码
  • 原文地址:https://www.cnblogs.com/J-william/p/6506302.html
Copyright © 2011-2022 走看看