1 条题解

  • 0
    @ 2025-8-24 22:27:29

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar efgh123
    **

    搬运于2025-08-24 22:27:29,当前版本为作者最后更新于2021-01-21 20:30:29,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题意

    传送门

    Luka 在开卡车,路上有很多信号灯。

    对于每个信号灯,他都知道红灯和绿灯亮的时间(循环不断重复)。

    Luka 开始开车时,所有交通信号灯都呈红色,并且开始循环。

    Luka 每秒移动 11 个距离单位。当交通信号灯为红色时,他要停车,直到它变成绿色。

    编写一个程序,确定 Luka 需要多少时间才能到达路的尽头。

    道路的起点在 00 处,终点在 ll 处。

    思路

    模拟题!!!

    1.输入

    2.模拟每一秒

    2.(1)时间加11

    2.(2)判断是否碰到红绿灯

    2.(3)碰到红绿灯碰到灯色

    3.输出

    Code

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
    	int n,l,Luka=0,t=0,k=0;
    	cin>>n>>l;
    	int d[n],r[n],g[n];
    	for(int i=0;i<n;i++){
    		cin>>d[i]>>r[i]>>g[i];
    	}
    	while(Luka!=l) {
    		t++;
    		if(Luka!=d[k]){
    			Luka++;
    		}
    		else {
    			int m=t%(r[k]+g[k]);
    			if(m==0||m>r[k]){
    				Luka++;
    				k++;
    			}
    		}
    	}
    	cout<<t;
    	return 0;
    }
    
    • 1

    信息

    ID
    5754
    时间
    1000ms
    内存
    32MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者