题目链接: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;
}