您的位置:首页 > 理论基础 > 数据结构算法

PAT 数据结构 2-09 装箱问题模拟

2013-07-18 10:12 253 查看
http://pat.zju.edu.cn/contests/ds/2-09
import java.util.*;

class Main
{
public static void main(String[] args)
{
int n;
int[] reserve = new int[1010];
int[] index = new int[1010];
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
int data[] = new int [1010];
for(int i=1;i<=n;i++)
{
reserve[i] = 100;
}
int bagIndex=1;
for(int i =1;i<=n;i++)
{
data[i] = sc.nextInt();
boolean flag = false;
for(int j =1;j<=bagIndex;j++)
{
if(data[i]<=reserve[j])
{
flag = true;
index[i] = j;
reserve[j] = reserve[j] - data[i];
break;
}
}
if(!flag)//can't find apporiate Bag
{
bagIndex++;
reserve[bagIndex] = reserve[bagIndex] - data[i];
index[i] = bagIndex;
}
}

for(int i =1;i <= n;i++)
{
System.out.println(data[i]+" "+index[i]);
}
System.out.println(bagIndex);

}
}


水题,用java练练手
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: