elf465504453 2011-04-14 18:20:00
点我顶贴
收藏
删除
这个题有点头疼,思路不大清晰,样例数据过了,可提交就给了10分,请给看看,谢谢!
#include<stdio.h>/*96*/
int main()
{
int m,n,i,taotao[2000]={0},apple[2000]={0},temp=0,I,sum=0,biaohao;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)scanf("%d",&apple[i]);
for(i=0;i<m;i++)scanf("%d",&taotao[i]);
for(I=0;I<n;I++){
for(temp=i=0;i<m;i++){
if(taotao[i]<apple[I]&&taotao[i]>temp){
temp=taotao[i];
biaohao=i;
}
}
taotao[biaohao]=0;
}
for(i=0;i<2000;i++)if(taotao[i]!=0)sum+=1;
printf("%d",sum);
return 0;
}
#1 崛起@2011-04-14 18:18:00
20617
回复
删除
题目叙述很清楚啊
摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了>.<给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……
对每个苹果 找到它能够到的最高的陶陶 摘取 如没有,走开
输出剩下的陶陶数