SDNU 1017 (冒泡排序法)

1017.陶陶裝蘋果

Description

陶陶想把蘋果裝到袋子裏,找來找去就找到了一個小袋子,蘋果太多,袋子根本裝不下,並且袋子最多可以裝的質量爲M,陶陶想使裝的蘋果個數儘量多。請你來幫他。

Input

第一行袋子的最大承受重量M(0<M<100)
第二行蘋果的個數N(0<N<2000)
緊跟N行,每行一個整數,每個蘋果的質量a(0<a<100)

Output

只有一行,陶陶最多能裝蘋果的個數

Sample Input

10
5
5
2
6
8
1

Sample Output

3

#include <stdio.h>
#define r 2000

int main()
{
    int n,m,i,ans,sum,arr[r];

    scanf("%d",&m);
    scanf("%d",&n);
    for(i=0; i<n; i++){
        scanf("%d",&arr[i]);
    }
    bubble_sort(arr,n);
    i = 0;
    sum = 0;
    while(i<n)
    {
         sum +=arr[i];
         if(sum>m)
        {
            printf("%d\n",i);
            break;
        }
        i++;
    }

    return 0;
}

void bubble_sort (int array[r], int len)
{
    int tmp,i,j;

    for(i=0; i<len-1; i++){
        for(j=0; j<len-1-i; j++)
        {
            if(array[j] > array[j+1])
            {
                tmp = array[j];
                array[j] = array[j+1];
                array[j+1] = tmp;
            }
        }
    }
}

當然也可使用其他的排序方法,如下:
http://www.jianshu.com/p/f5baf7f27a7e

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章