您的位置:首页 > 其它

7-5 装箱问题(25 分) 假设有N项物品,大小分别为s ​1 ​​、s ​2 ​​、…、s ​i ​​、…、s ​N ​​,其中s ​i ​​为满足1≤s ​i ​​≤100的整数。要把这些物品装

2017-12-07 15:46 1086 查看
#include <stdio.h>

int main (void)

{

    int N,a[100],i,b[100]= {0},j,flag,s[100];

    int su=1;

    scanf("%d",&N);

    for(i=0; i<N; i++)

    {

        scanf("%d",&a[i]);

        s[i]=a[i];
    }

    b[0]=0;

    for(i=1; i<N; i++)

    {

        for(j=0; j<i; j++)

        {

            flag=0;

            if(a[i]+a[j]<=100)

            {

                a[j]=a[i]+a[j];

                a[i]=0;

                b[i]=j;

                flag=1;

                break;

            }
        }

        if(flag==0)

        {

            b[j]=i;

        }

    }

    int max=0;

    for(i=1; i<N; i++)

    {

        if(b[i]>b[max])

        {

            max=i;

            b[max]=b[i];

        }

    }

    for(i=0; i<N; i++)

    {

        printf("%d %d",s[i],b[i]+1);

        printf("\n");

    }

    printf("%d",b[max]+1);

    return 0;

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