1. 程式人生 > >摘陶陶(JSU-ZJJ)

摘陶陶(JSU-ZJJ)

題目描述

話說去年蘋果們被陶陶摘下來後都很生氣,於是就用最先進的克隆技術把陶陶克隆了好多份> .< 然後把他們掛在樹上,準備摘取。 摘取的規則是,一個蘋果只能摘一個陶陶,且只能在它所能摘到的高度以下的陶陶,陶陶高度為0時,不能摘取,如果摘不到的話只能灰溜溜的走開了> .< 給出蘋果數目及每個蘋果可以夠到的高度和各個陶陶的高度,求蘋果們都摘完後剩下多少個陶陶……
輸入
第一行為兩個數,分別為蘋果的數量n和陶陶的數量m(n,m< =2000) 以下的n行,分別為各個蘋果能夠到的最大高度。 再接下來的m行,分別為各個陶陶的高度。 高度均不高於300。 當然了,摘取的順序按照輸入的“蘋果夠到的最大高度”的順序來摘。
輸出
輸出僅有一個數,是剩下的陶陶的數量
樣例輸入
5 5
9
10
2
3
1
6
7
8
9
10
樣例輸出
3

分析:

本題需要注意的是,陶陶的高度為0的時候是不能摘取的。


#include"stdio.h"
int main()
{
    int a[3000],b[3000];
    int i,j,k,n,m,t,count;
    while(~scanf("%d%d",&n,&m))
    {  count=m;
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(i=0;i<n-1;i++)
            for(j=i;j<n;j++)
                if(a[i]<a[j])
        {
            t=a[i];a[i]=a[j];a[j]=t;
        }
        for(i=0;i<m;i++)
            scanf("%d",&b[i]);
        for(i=0;i<m-1;i++)
            for(j=i;j<m;j++)
               if(b[i]<b[j])
        {
            t=b[i];b[i]=b[j];b[j]=t;
        }
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            {
                if(a[i]>b[j]&&b[j]!=0)
                {
                    count--;
                    b[j]=30000;
                    break;
                }
            }
        }
    printf("%d\n",count);
    }
}