题目大意:
台风把凯蒂家的房子损坏了,知道墙的宽,输入墙的长和木板的长,宽度一样,问最少需要多少木板?
排序用的qsort
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main(int argc,char *argv[])
{
int l,n,i,a[1000],sum;
while(scanf("%d %d",&l,&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
qsort(a,n,sizeof(a[0]),cmp);
sum=0;
for(i=0;i<n;i++)
{
sum+=a[i];
if(sum>=l){break;}
}
i==n?printf("impossible\n"):printf("%d\n",i+1);
}return 0;
}
排序用sort
#include<stdio.h>
#include<algorithm> linux操作系统不能用,可以用
qsort 排序
using namespace std;
int cmp(int a,int b)
{
return a>b;
}
int main()
{
int l,n,i,a[1000],sum,x,y;
while(scanf("%d %d",&l,&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{printf("%d ",a[i]);
}
sum=0;
for(i=0;i<n;i++)
{
sum+=a[i];
if(sum>=l){break;}
}
i==n?printf("impossible
\n"):printf("%d\n",i+1);
}return 0;
}
本文介绍了一种通过排序算法来解决台风损坏房屋后所需木板数量的问题。算法使用qsort进行降序排列,并计算覆盖特定长度所需的最小木板数量。
482

被折叠的 条评论
为什么被折叠?



