发现现在这样的A题好多呀,就是一个数组,每次来一个操作,直到某个条件满足时为止。
因为数据范围小所以可以直接模拟,这题也是一样,有红绿蓝三种颜色的索道,按照红绿蓝的顺序每分钟来一个,每个索道的缆车每次最多搭载2个人,问啥时候所有人都送上山总共要花多少时间(上山的时间是30Min别忘了加上)
那么我们就模拟一下,直到没人了为止,每次按顺序红绿蓝地每次减二(别忘了如果没人了不能减应该归零)。
Code:
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
// http://codeforces.com/contest/90
// Cableway
int main()
{
int r,g,b,now=29; cin>>r>>g>>b;
int n[3]={r,g,b};
while(n[0]+n[1]+n[2])
{
now++;
if(n[now%3]>=2) n[now%3]-=2;
else n[now%3]=0;
}
cout<<now;
return 0;
}

一组大学生计划乘缆车到达山顶野餐。缆车分为红、绿、蓝三色,每分钟一辆,循环出现,且每辆限载两人。学生被分为偏好不同颜色缆车的三组,任务是确定所有人登上山顶所需的最短时间。
577

被折叠的 条评论
为什么被折叠?



