- 苹果摘陶陶
- 2013-07-10 20:08:20 @
#include<stdio.h>
const MAXN=1000+1;
//quicksort 降序
void qs(int c[MAXN],int l,int r)
{
int i,j,x;
if (l<r)
{
i=l;j=r;x=c[i];
while (i<j)
{
while((i<j)&&(c[j]<x)) j-=1;
if(i<j) {c[i]=c[j];i+=1;}
while((i<j)&&(x<c[i])) i+=1;
if(i<j) {c[j]=c[i];j-=1;}
}
c[i]=x;
qs(c,1,i-1);
qs(c,i+1,r);
}
}
//主处理
int main()
{
int a,b,c,n[MAXN],m[MAXN];
//n为苹果m为淘淘(编号0均为最大值)a第一层循环用c第二层循环b为未摘取个数
scanf("%d%d",&n[0],&m[0]);
for (a=1;a<=n[0];a++) scanf("%d",&n[a]);
for (a=1;a<=m[0];a++) scanf("%d",&m[a]);
qs(m,1,m[0]);
qs(n,1,n[0]);
for (a=1;a<=m[0];a++) printf("%d ",m[a]);
b=m[0];
for (a=1;a<=n[0];a++)
{
if(b==0) break;
for (c=1;c<=m[0];c++)
if((n[a]>m[c])&&(m[c]!=0))
{
b--;
m[c]=0;
break;
}
}
printf("%d",b);
return 0;
}
大神求救!每个点都是1050ms
2 条评论
-
Curt_Xu LV 8 @ 2014-06-26 00:11:56
stdlib.h里面不是有qsort()函数吗?
C++有sort(),更扛
不用自己写排序,直接用就行了,自己写容易出问题 -
2013-07-11 11:18:57@
已解决
- 1