目录
P1197: 苹果摘陶陶
P1197: 苹果摘陶陶 题解
题目详情:
去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了很多份,然后把他们挂在树上让苹果们摘。
摘取的规则是:苹果排好队轮流摘取,一个苹果只能摘一个陶陶,且只能摘在他所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开。
给出苹果数目及按苹果队伍的顺序给出每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后还剩下多少个陶陶……
解题思路:
1. 创建两个数组分别用于存放苹果高度与陶陶高度
2.输入将陶陶高度由小到大排列
3.如果陶陶高度大于苹果高度那么累加器+1 b[j]=0使这个陶陶为0 跳出
4.输出被摘下了多少个
代码样例:
#include<bits/stdc++.h>
using namespace std;
int a[2020];
int b[2020];
int main()
{
int n,m;
int cnt=0;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=m;i++)
{
cin>>b[i];
}
sort(b+1,b+m+1);
for(int i=1;i<=n;i++)
{
for(int j=m;j>=1;j--)
{
if(a[i]>b[j]&&b[j]!=0)
{
cnt++;
b[j]=0;
break;
}
}
}
cout<<m-cnt;
return 0;
}
题后总结反思:
总结反思:
1.有效利用sort可以使循环更便捷
2.将被摘过的变成0