浙江财经大学
信息管理与工程学院

Codeforces 90A. Cableway

本文由 Ocrosoft 于 2016-10-21 10:21:54 发表
A. Cableway

A group of university students wants to get to the top of a mountain to have a picnic there. For that they decided to use a cableway.

A cableway is represented by some cablecars, hanged onto some cable stations by a cable. A cable is scrolled cyclically between the first and the last cable stations (the first of them is located at the bottom of the mountain and the last one is located at the top). As the cable moves, the cablecar attached to it move as well.

The number of cablecars is divisible by three and they are painted three colors: red, green and blue, in such manner that after each red cablecar goes a green one, after each green cablecar goes a blue one and after each blue cablecar goes a red one. Each cablecar can transport no more than two people, the cablecars arrive with the periodicity of one minute (i. e. every minute) and it takes exactly 30minutes for a cablecar to get to the top.

All students are divided into three groups: r of them like to ascend only in the red cablecars, g of them prefer only the green ones and bof them prefer only the blue ones. A student never gets on a cablecar painted a color that he doesn’t like,

The first cablecar to arrive (at the moment of time 0) is painted red. Determine the least time it will take all students to ascend to the mountain top.

Input

The first line contains three integers rg and b (0 ≤ r, g, b ≤ 100). It is guaranteed that r + g + b > 0, it means that the group consists of at least one student.

Output

Print a single number — the minimal time the students need for the whole group to ascend to the top of the mountain.

Examples
input
1 3 2

output
34

input
3 2 1

output
33

Note

Let’s analyze the first sample.

At the moment of time 0 a red cablecar comes and one student from the r group get on it and ascends to the top at the moment of time30.

At the moment of time 1 a green cablecar arrives and two students from the g group get on it; they get to the top at the moment of time31.

At the moment of time 2 comes the blue cablecar and two students from the b group get on it. They ascend to the top at the moment of time 32.

At the moment of time 3 a red cablecar arrives but the only student who is left doesn’t like red and the cablecar leaves empty.

At the moment of time 4 a green cablecar arrives and one student from the g group gets on it. He ascends to top at the moment of time34.

Thus, all the students are on the top, overall the ascension took exactly 34 minutes.

Solution

题意:一群人要坐缆车上山,缆车有三种颜色,红绿蓝,依次一分钟来一辆。这群人分成三批,分别只坐红绿蓝的缆车。同时每辆缆车只能坐2人,到山顶需要30分钟。问最少多少时间所有人能到山顶。
思路:时间最少,所以如果某种颜色的缆车到了,就尽量往上塞人。所以就是求最后的缆车的颜色。可以模拟,也可以直接算。

#include <set>
#include <map>
#include <list>
#include <cmath>
#include <stack>
#include <queue>
#include <ctime>
#include <string>
#include <cstdio>
#include <vector>
#include <cctype>
#include <climits>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <functional>
#define strend string::npos
#define ms(a) memset(a,0,sizeof(a))
typedef long long LL;
const LL LINF = LLONG_MAX / 2;
const int INF = INT_MAX / 2;
const int MAXN = 150 + 10;
const int MOD = 100000;
int gcd(int a, int b)
{
	if (!b)return a;
	return gcd(b, a%b);
}
using namespace std;
int main()
{
	int a,b,c;
	while(cin>>a>>b>>c)
	{
		int ans=29;
		for(int i=0;a||b||c;i=(i==2?0:i+1))
		{
			switch (i)
			{
			case 0:
				ans++;
				a-=(a>=2?2:a);
				break;
			case 1:
				ans++;
				b-=(b>=2?2:b);
				break;
			case 2:
				ans++;
				c-=(c>=2?2:c);
				break;
			}
		}
		printf("%d\n",ans);
	}
	return 0;
}

欢迎分享与转载,请保留链接与出处。Ocrosoft » Codeforces 90A. Cableway

点赞 (0)or拍砖 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址