浙大PTA実験7-1-13箱詰め問題

5824 ワード

N項の物品があると仮定し、大きさはそれぞれs 1、s 2、...、s i、...、s Nであり、ここでs iは1≦s i≦100を満たす整数である.これらの品物を容量100の箱(番号1-N)に入れます.梱包方法は、各品物に対して、順番に箱をスキャンし、その品物を最初の箱に入れるのに十分な方法です.このような梱包プロセスをシミュレートし、各品目が存在する箱の番号と、すべての品目を配置するために必要な箱の数を出力するプログラムを書いてください.
入力形式:第1行目に物品個数N(≤1000)を入力する.2行目には、N個の正の整数s i(1≦s≦100、i番目の物品の大きさを表す)が与えられる.
出力フォーマット:入力順に各品目の大きさとその所在する箱番号を出力し、各品目は1行を占め、最後の行は必要な箱数を出力する.
入力サンプル:8 60 70 80 90 30 40 10 20出力サンプル:60 1 70 2 80 3 90 4 1 40 5 10 1 20 5
#include
int main() 
{
	int j,i,n,a[1000],b[1000],count=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		b[i]=100;//b      ,100          
	}
	for(i=0;i<n;i++)//  for      
		for(j=0;j<n;j++)//        
		{
			if(b[j]-a[i]>=0)//           
			{
				b[j]-=a[i];//            
				printf("%d %d
"
,a[i],j+1); if(count<j+1) count=j+1;//count break; } } printf("%d",count); }