北大ACM(POJ1017-Packets)

Question:http://poj.org/problem?id=1017
问题点:贪心。
 1 Memory: 224K        Time: 32MS
 2 Language: C++        Result: Accepted
 3 
 4 #include <iostream>
 5 using namespace std;
 6 
 7 int seq[4]={0,5,3,1};//表示分配完3*3产品剩余3*3产品数对应剩余2*2的空位数   
 8 int main()
 9 {
10     int product[6],packets,twos,ones;
11     bool flag;
12     while(true)
13     {
14         int i;
15         flag=false;
16         for(i=0;i<6;i++)
17         {
18             cin>>product[i];
19             if(product[i]>0) flag=true;
20         }
21         if(!flag) break;
22 
23         packets = product[5]+product[4]+product[3]+(product[2]+3)/4;
24         twos = product[3]*5+seq[product[2]%4];
25         if(product[1]>twos)
26         {
27             packets += (product[1]-twos+8)/9;
28         }
29         ones = 36*packets-36*product[5]-25*product[4]-16*product[3]-9*product[2]-4*product[1];
30         if(product[0]>ones)
31         {
32             packets += (product[0]-ones+35)/36;
33         }
34         cout<<packets<<endl;
35     }
36     return 0;
37 }

 

转载于:https://www.cnblogs.com/TYcnblogs/p/poj1017.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值