大神帮我看一下,80分,第一个点过不了

P1744 采购特价商品

@[冰川茶藨](/space/show?uid=118707) markdown懂??
by YWHS__LH @ 2018-10-04 15:32:23


@[冰川茶藨](/space/show?uid=118707) 希望更丰富的展现?使用$Markdown$
by AstoriaG @ 2018-10-04 15:32:33


@[冰川茶藨](/space/show?uid=118707) ``` include<bits/stdc++.h> using namespace std; struct node { double x; double y; } q[65455]; double dp[1001][1001]; double dis[1001]; int main() { int n; cin>>n; for(int i=1; i<=n; i++) cin>>q[i].x>>q[i].y; int m; cin>>m; memset(dp,0x7f7f7f,sizeof dp); memset(dis,0x7f7f7f,sizeof dis); for(int i=1; i<=m; i++) { int a,b; cin>>a>>b; dp[a][b]=(q[a].x-q[b].x)(q[a].x-q[b].x)+(q[a].y-q[b].y)(q[a].y-q[b].y); dp[a][b]=sqrt(dp[a][b]); dp[b][a]=dp[a][b]; } int s,e; cin>>s>>e; dis[s]=0; for(int i=1; i<=n; i++) dis[i]=dp[s][i]; for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) dis[j]=min(dis[j],dis[i]+dp[i][j]); printf("%.2lf",dis[e]); return 0; } ``` 像这样
by YWHS__LH @ 2018-10-04 15:33:05


··· #include<bits/stdc++.h> using namespace std; struct node{ double x;double y; }q[65455]; double dp[1001][1001]; double dis[1001]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) cin>>q[i].x>>q[i].y; int m; cin>>m; memset(dp,0x7f7f7f,sizeof dp); memset(dis,0x7f7f7f,sizeof dis); for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; dp[a][b]=(q[a].x-q[b].x)*(q[a].x-q[b].x)+(q[a].y-q[b].y)*(q[a].y-q[b].y); dp[a][b]=sqrt(dp[a][b]); dp[b][a]=dp[a][b]; } int s,e; cin>>s>>e; dis[s]=0; for(int i=1;i<=n;i++) dis[i]=dp[s][i]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) dis[j]=min(dis[j],dis[i]+dp[i][j]); printf("%.2lf",dis[e]); return 0; } ···
by mol茶蛋糕 @ 2018-10-04 15:34:09


~~~ #include<bits/stdc++.h> using namespace std; struct node{ double x;double y; }q[65455]; double dp[1001][1001]; double dis[1001]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) cin>>q[i].x>>q[i].y; int m; cin>>m; memset(dp,0x7f7f7f,sizeof dp); memset(dis,0x7f7f7f,sizeof dis); for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; dp[a][b]=(q[a].x-q[b].x)*(q[a].x-q[b].x)+(q[a].y-q[b].y)*(q[a].y-q[b].y); dp[a][b]=sqrt(dp[a][b]); dp[b][a]=dp[a][b]; } int s,e; cin>>s>>e; dis[s]=0; for(int i=1;i<=n;i++) dis[i]=dp[s][i]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) dis[j]=min(dis[j],dis[i]+dp[i][j]); printf("%.2lf",dis[e]); return 0; } ~~~
by mol茶蛋糕 @ 2018-10-04 15:34:35


@[AstoriaG](/space/show?uid=96917) ~~~ #include<bits/stdc++.h> using namespace std; struct node{ double x;double y; }q[65455]; double dp[1001][1001]; double dis[1001]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) cin>>q[i].x>>q[i].y; int m; cin>>m; memset(dp,0x7f7f7f,sizeof dp); memset(dis,0x7f7f7f,sizeof dis); for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; dp[a][b]=(q[a].x-q[b].x)*(q[a].x-q[b].x)+(q[a].y-q[b].y)*(q[a].y-q[b].y); dp[a][b]=sqrt(dp[a][b]); dp[b][a]=dp[a][b]; } int s,e; cin>>s>>e; dis[s]=0; for(int i=1;i<=n;i++) dis[i]=dp[s][i]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) dis[j]=min(dis[j],dis[i]+dp[i][j]); printf("%.2lf",dis[e]); return 0; } ~~~
by mol茶蛋糕 @ 2018-10-04 15:37:24


|