求调
查看原帖
求调
783336
Earth_Sky楼主2024/12/28 19:17
#include<bits/stdc++.h>
using namespace std;
struct node{int st,en,len;};
vector<node>v1,v2;string s;
int n,cnt1,cnt2,ans=2e9+7;
int main(){
	cin>>n;while(n--){
		cin>>s;int sh,sm,eh,em;
		scanf("%d:%d--%d:%d",&sh,&sm,&eh,&em);
		int st=sh*60+sm,en=eh*60+em,len;
		if(st<en) len=en-st;else len=en-st+1440;
		if(s=="Zagreb-Graz") v1.push_back({st,em,len});
		else v2.push_back({st,em,len});
	}cnt1=v1.size();cnt2=v2.size();
	if(!cnt1||!cnt2){cout<<"NEMOGUCE";return 0;}
	for(auto i:v1){for(auto j:v2){
			if(v1[i].en<v2[j].st)
				ans=min(ans,v1[i].len+v2[j].len+(v2[j].st-v1[i].en));
			else
				ans=min(ans,v1[i].len+v2[j].len+(v2[j].st-v1[i].en+1440));
	}	}
	printf("%d:%2d",ans/60,ans%60);

	return 0;
}
```rt
2024/12/28 19:17
加载中...