1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; #define endl '\n' #define fi first #define se second #define pii pair<int,int> #define pb push_back int n,m,a,b,v[100005],vis[100005]; vector<int>g[100005]; int main(){ cin>>n>>m>>a>>b; for(int i=0;i<n;i++) cin>>v[i]; while(m--){ int x,y; cin>>x>>y; g[x].pb(y);//有向边 } //广搜 queue<pii>q; q.push({a,0}); while(!q.empty()){ int x=q.front().fi; int y=q.front().se; if(x==b){//到达终点 cout<<y+v[b]-v[a]; return 0; } q.pop(); for(auto i:g[x]){ if(!vis[i]){ vis[i]=1; q.push({i,y+1}); } } } cout<<"No solution";//无解 return 0; }
- 1
信息
- ID
- 9174
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者