黑夜无灯,求救!
查看原帖
黑夜无灯,求救!
783336
Earth_Sky楼主2024/8/24 10:33
#include<bits/stdc++.h>
using namespace std;
const int MAXN=3005,MAXM=6005;
int n,m,s1,t1,s2,t2;
int h[MAXN],e[MAXM],ne[MAXM],tot=1;
inline void add(int x,int y){
	e[tot]=y;
	ne[tot]=h[x];
	h[x]=tot++;
}
queue<int>que;
int dis[3][MAXN];
inline void bfs(int rt,int *d){
	d[rt]=0;
	que.push(rt);
	while(!que.empty()){
		int u=que.front();que.pop();
		for(int i=h[u];i;i=ne[i]){
			d[e[i]]=min(d[e[i]],d[i]+1);
			que.push(e[i]);
		}
	}
}
int main(){
	ios::sync_with_stdio(NULL);
	cin.tie(0);cout.tie(0);
	memset(dis,0x3f,sizeof dis);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int x,y;cin>>x>>y;
		add(x,y);add(y,x);
	}
	cin>>s1>>t1>>s2>>t2;
	bfs(1,dis[0]);
	bfs(s1,dis[1]);
	bfs(s2,dis[2]);
	int ans=2e9;
	for(int i=1;i<=n;i++){
		if(dis[0][i]+dis[1][i]<=t1&&dis[0][i]+dis[2][i]<=t2)
			ans=min(ans,dis[0][i]+dis[1][i]+dis[2][i]);
	}
	if(ans==2e9) ans=-1;
	else ans=m-ans;
	cout<<ans;

	return 0;
}

O2全是MLE,不开O2全是TLE&MLE

2024/8/24 10:33
加载中...