您的位置:首页 > 大数据 > 人工智能

XYNUOJ 1246 repair the wall

2017-07-30 10:45 369 查看
题目大意:

台风把凯蒂家的房子损坏了,知道墙的宽,输入墙的长和木板的长,宽度一样,问最少需要多少木板?

排序用的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;

 } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: