社区讨论

代码有什么错误

P5661[CSP-J 2019] 公交换乘参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo1wjhee
此快照首次捕获于
2023/10/23 04:09
2 年前
此快照最后确认于
2023/11/03 04:36
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
struct ticket{
    bool flag;
    int t;
    int price;
    int time;
};
ticket trans[N];
int TotalTime=0;
int main(){
    cin>>n;
    cin>>trans[1].t>>trans[1].price>>trans[1].time;
    TotalTime+=trans[1].price;
    if(trans[1].t==0) trans[1+1].flag=true;
    else trans[1+1].flag=false;
    for(int i=2;i<n;i++){
        cin>>trans[i].t>>trans[i].price>>trans[i].time;
		if(trans[i].flag==true&&trans[i].time-trans[i-1].time<=45){
			if(trans[i].t==1) trans[i+1].flag=false;
			else trans[i+1].flag=true;
		}
		else{
			TotalTime+=trans[i].price;
			if(trans[i].t==1) trans[i+1].flag=false;
			else trans[i+1].flag=true;
		}
    }
    cin>>trans[n].t>>trans[n].price>>trans[n].time;
	if(trans[n].flag==true&&trans[n].time-trans[n-1].time<=45){
		cout<<TotalTime;
		return 0;
	}
	else TotalTime+=trans[n].price;
	cout<<TotalTime;
    return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...