社区讨论

感觉很对啊,求助大佬

P1744采购特价商品参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mi6yjvpg
此快照首次捕获于
2025/11/20 12:55
4 个月前
此快照最后确认于
2025/11/20 12:55
4 个月前
查看原帖
#include #include #include #include #include #include using namespace std; int n,m; int s,t; struct jg{ int x; int y; }; jg dzb[109]; vector tt[109]; queue pp; double d[109]; int bj[109]; double js(int a,int b){ return sqrt((double)(dzb[a].x-dzb[b].x)(dzb[a].x-dzb[b].x)+(double)(dzb[a].y-dzb[b].y)(dzb[a].y-dzb[b].y)); } void spfa(int a){ pp.push(a); while(!pp.empty()){ int tmp=pp.front(); pp.pop(); bj[a]=0; //cout<<tmp<<" "<<dzb[tmp].x<<" "<<dzb[tmp].y<<" "<<d[tmp]<<endl; for(int i=0;i<tt[tmp].size();i++){ if(d[tt[tmp][i]]>(js(tt[tmp][i],tmp)+d[tmp])){ d[tt[tmp][i]]=js(tt[tmp][i],tmp)+d[tmp]; if(bj[tt[tmp][i]]==0){ pp.push(tt[tmp][i]); bj[tt[tmp][i]]=1; } } } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>dzb[i].x>>dzb[i].y; } cin>>m; for(int i=1;i<=n;i++){ int a,b; cin>>a>>b; tt[a].push_back(b); tt[b].push_back(a);
} cin>>s>>t; for(int i=1;i<109;i++){ d[i]=9999999999.0; } d[s]=0.0; spfa(s); printf("%.2lf",d[t]); return 0; }

回复

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

正在加载回复...