青藤 枚举(2)

青藤 枚举(2)

http://wikioi.cn/training/mission/98

第一题 买铅笔

题目大意:老师要买n支铅笔,有三种包装,要求铅笔买够并且钱要少。
分析:只要枚举这三种包装的钱,但是可以多买,不能少买,因为只有三种直接暴力。
代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
	long long n,a[3],b[3],c[3],sum1,sum2,sum3,maxn=-1;
	double ans;
	cin>>n>>a[1]>>a[2]>>b[1]>>b[2]>>c[1]>>c[2];
	ans=n*1.0/a[1];if(ans>floor(ans)) ans=floor(ans)+1; sum1=ans*a[2];//floor向下取整
	ans=n*1.0/b[1];if(ans>floor(ans)) ans=floor(ans)+1; sum2=ans*b[2];
	ans=n*1.0/c[1];if(ans>floor(ans)) ans=floor(ans)+1; sum3=ans*c[2];
	maxn=min(sum2,sum1);
	maxn=min(sum3,maxn);
	cout<<maxn<<endl;
    return 0;
}

第二题 工作分配

题目大意:给你ABC三人对甲乙丙三种工作的效率,三人做不能相同的工作,求最少几天完成。
分析:枚举的对象肯定是ABC的工作效率,而且不能相同,三重循环加判断,再求最大值。
代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
	long long n[3][3];
    for(int i=0;i<3;i++){
   
        for(int j=0;j<3;j++){
   
            cin>>n[i][j];
        }
    }
    long long maxn=-1;//开long long数据量大
    for(int i=0;i<3;i++){
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值