CSP-j 你谷T4数据是不是有点水
  • 板块学术版
  • 楼主_Icetihw_
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/22 01:38
  • 上次更新2023/10/22 11:31:18
查看原帖
CSP-j 你谷T4数据是不是有点水
1127667
_Icetihw_楼主2023/10/22 01:38
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,k,ans = 1e10;
ll u,v,a;
struct N{
	ll id,t;
};
N c[20005][805];
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		cin>>u>>v>>a;
		c[u][++c[u][0].id] = N{v,a};
	}
	queue<N> q;
	q.push(N{1,0});
	while(!q.empty()){
		N f = q.front();
		q.pop();
		if(f.t >= ans)continue;
		if(f.id == n){
			if(f.t % k == 0)ans = min(ans,f.t);
			continue;
		}
		for(int i=1;i<=c[f.id][0].id;i++){
			if(c[f.id][i].id == f.id)continue;
			if(f.t >= c[f.id][i].t)q.push(N{c[f.id][i].id,f.t+1});
			else q.push(N{c[f.id][i].id,f.t + ceil((c[f.id][i].t-f.t)*1.0/k)*k + 1});
		}
	}
	cout<<(ans == 1e10?-1:ans);
	return 0;
}

暴力BFS能90,考场大样例跑不出来

2023/10/22 01:38
加载中...