@[冰川茶藨](/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