/* 你有一个容量为100的箩筐,给你30个物品,每个物品的体积已知, 问:最多能装多少个物品。 思路:排序,最小的体积的先放 输入:5 59 100 1 2 3 20 20 30 40 50 60 20 20 20 20 10 10 10 10 10 100 20 20 20 20 20 20 20 30 输出:11 */ #include<iostream> using namespace std; int main(int argc, char *argv[]) { int a[30]; for(int i=0;i<30;++i) cin>>a[i]; for(int i=0;i<30;++i) for(int j=i+1;j<30;++j) { if(a[i]>a[j]){ int t=a[i]; a[i]=a[j]; a[j]=t; } } for(int i=0;i<30;++i) cout<<a[i]<<endl; int s=100; int cnt=0; int i=0; while(s>0) { s-=a[i++]; cnt++; } cout<<cnt<<endl; return 0; }
时间: 2024-10-14 13:59:40