ural 1876

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1876

题目大意:

一只蜈蚣有40只左脚,40只右脚,床下有a只左拖鞋,b只右拖鞋,起床后,蜈蚣要先穿左脚,如果用左脚找到的是左拖鞋,花费一分钟穿上, 如果是右拖鞋就要脱掉,穿到右脚,多花费一分钟,穿完左脚后要用右脚去找右拖鞋,找到右拖鞋花费一分钟穿上,找到左拖鞋脱下扔掉,多花费一分钟,给出a,b求出最坏的情况。

思路:

有两种情况:

1.先把所有的右拖鞋找一遍之后,再穿完左脚,花费时间: 2*b+40

2.找了x只右拖鞋后,才把左脚穿完了,但是右脚没有穿完,所以在找右拖鞋的过程中,把没有传的左拖鞋找了一遍,才找到右拖鞋,穿完右脚, 花费时间:2*x+40+2*(a-40)+40 - x, 化简为 2*a+x

由于x的范围是1~40,由于x = 40的情况和第一种情况一样所以x取最大39

比较第一种情况和第二种情况的时间就可以


代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    int a, b;
    cin>>a>>b;
    printf("%d\n", max((2 * b + 40),(2 * a + 39) ));
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值