zoukankan      html  css  js  c++  java
  • 洛谷 P1505 陶陶摘苹果 啊呸 。。苹果摘陶陶

    题目背景

    根据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

    题目很简单,样例特别水,但是有点坑。。。
    高度为0的苹果不能摘
    代码如下
    #include<algorithm>
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    int apple[100000];
    int taotao[1000000];
    int cnt,n,m;
    bool cmp(int x,int y)
    {
        return x>y;
    }
    int main()
    {
        cin>>n>>m;
        int now=n;
        for(int i=1;i<=n;i++) cin>>apple[i];
        for(int i=1;i<=m;i++) cin>>taotao[i];
        sort(taotao+1,taotao+m+1,cmp);
        //sort(apple+1,apple+n+1,cmp);
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                if(apple[i]>taotao[j]&&taotao[j]>0)
                {
                    taotao[j]=-1;
                    break;
                }
        for(int i=1;i<=m;i++)
            if(taotao[i]!=-1) cnt++;
        cout<<cnt<<endl;
        return 0;
    }
  • 相关阅读:
    【python】mongo删除数据
    【linux】复制文件夹中文件,排除部分文件
    【mysql】datetime时间比较
    【python】del
    【linux】shell代码,获取当前路径,创建文件夹
    【python】打印函数调用栈
    【linux】复制文件夹内容到另一个文件夹
    【gearman】gearmand -d 无反应解决
    【python】异步编程twisted
    AndrewNG Deep learning课程笔记
  • 原文地址:https://www.cnblogs.com/chen74123/p/6710734.html
Copyright © 2011-2022 走看看