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;
    }
  • 相关阅读:
    UML类图和用例图
    设计模式基本原则
    c# 协变和逆变
    git本地忽略
    计算器科学概论-数据操控
    计算机科学概论-数据存储
    docker部署gitlab-ce
    sqlserver2008R2 本地不能用localhost连接
    Redis常用命令
    C# 值类型和引用类型的区别
  • 原文地址:https://www.cnblogs.com/chen74123/p/6710734.html
Copyright © 2011-2022 走看看