小白代码,模拟过程,勿喷,哈哈。
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int a[n],b[1000];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
//初始化
for(int i=0;i<=n;i++){
b[i]=100;
}
//箱子数
int index=1;
for(int i=0;i<n;i++){
//是否在已有箱子有存储空间
int flag=0;
for(int j=1;j<=index;j++){
//有
if(b[j] - a[i] >=0){
flag=1;//赋一
b[j]-=a[i];
printf("%d %d\n",a[i],j);
break;
}
}
//原有箱子没有足够空间,创建新箱子
if(flag == 0){
index++;
b[index]-=a[i];
printf("%d %d\n",a[i],index);
}
}
printf("%d",index);
return 0;
}