摘陶陶(JSU-ZJJ)
阿新 • • 發佈:2018-12-08
題目描述
話說去年蘋果們被陶陶摘下來後都很生氣,於是就用最先進的克隆技術把陶陶克隆了好多份> .< 然後把他們掛在樹上,準備摘取。 摘取的規則是,一個蘋果只能摘一個陶陶,且只能在它所能摘到的高度以下的陶陶,陶陶高度為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); } }