网易互娱2020校招在线笔试—游戏研发第一批—游泳池-研发

题目:

小明作为一个游泳池管理员,以玩弄给水管和排水管为乐,也因此产生了很多数学题考验小朋友。

现在小明想把这个行动升级,考验一下程序员,做了一个自动装置来控制给水管和排水管。在开始时,给水管和排水管都是打开状态的,并且游泳池里没有水。在自动装置的作用下,每经过t1分钟,给水管的状态都会改变,即从打开状态变为关闭状态或从关闭状态变为打开状态,而同时每经过t2分钟,排水管的状态也会改变。当给水管打开时,给水管每分钟会向游泳池里注入m1升水;当排水管打开时,排水管每分钟会把游泳池里水排走m2升;当给水管和排水管同时打开时,游泳池的水量变化为每分钟(m1-m2)升。当然泳池的水量不能变为负数,同时泳池也有个最大容量m,水量不能超过m升。那么经过t分钟后,游泳池里有多少升水?

时间限制:C/C++ 1秒,其他语言2秒

空间限制:C/C++ 64M,其他语言128M

输入描述:

复制代码
输入第一行为一个正整数T,表示有T组数据。

每组数据的为一行包含六个整数,分别表示m, t, m1, t1, m2, t2。

数据范围:

对于所有数据,满足1<=T<=10, 1<=m<=100000, 1<=t<=86400, 1<=m1,m2<=100, 1<=t1,t2<=10。

输出描述:

复制代码
对于每一个数据,输出一行,包括一个整数,为在t分钟后游泳池中的水量。

示例1

输入例子:

复制代码
5
10 2 1 5 2 5
10 2 10 5 2 5
10 2 3 5 2 5
100 100 3 4 4 3
10000 1000 10 5 5 3

输出例子:

复制代码
0
10
2
3
2495

题解:

用两个变量存储存水池与放水池的开关状态,一开始都是打开状态,然后存水池每过t1时间切换状态一次,那么当前时间/t1的值如果为奇数则切换成关闭状态,放水池同理,然后每次循环时间时间只需注意边界判断。

cs 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
         int T; cin>>T;
         int m,t,m1,t1,m2,t2;

         while(T--)
         {
         cin>>m>>t>>m1>>t1>>m2>>t2;
           bool state1=true, state2=true;
           int ans=0;
           int temp1,temp2;
           for(int i=0;i<t;i++)
           {
              temp1=i/t1; //为偶数则打开
               temp2=i/t2; //为偶数则打开
               if(temp1%2==0) ans+=m1;
               if(temp2%2==0) ans-=m2;
               if(ans<0) ans=0;
               if(ans>m) ans=m;
           }
           cout<<ans<<endl;
         }
}
// 64 位输出请用 printf("%lld")
相关推荐
倒头就睡的小比特5 小时前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!5 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼6 小时前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
旖旎夜光7 小时前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark7 小时前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her18 小时前
并查集-听课笔记
笔记·算法·并查集
码流子8 小时前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven8 小时前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
wzdark8 小时前
从算法设计模式看编程思维的抽象能力4
算法
2601_962218618 小时前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法