题目P1257
原代码
#include <bits/stdc++.h>
using namespace std;
int a[2][10005];
int main(){
int n;
double minn=INT_MAX;
cin>>n;
for(int i=0;i<n;i++) cin>>a[0][i]>>a[1][i];
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
minn=min(sqrt((a[0][i]-a[0][j])*(a[0][i]-a[0][j])+(a[1][i]-a[1][j])*(a[1][i]-a[1][j])),minn);
}
}
printf("%.4lf",minn);
return 0;
}
只有40分
结果把min里面的东西换了个位置之后
现代码
#include <bits/stdc++.h>
using namespace std;
int a[2][10005];
int main(){
int n;
double minn=INT_MAX;
cin>>n;
for(int i=0;i<n;i++) cin>>a[0][i]>>a[1][i];
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
minn=min(minn,sqrt((a[0][i]-a[0][j])*(a[0][i]-a[0][j])+(a[1][i]-a[1][j])*(a[1][i]-a[1][j])));
}
}
printf("%.4lf",minn);
return 0;
}
满分
有大佬能解释一下这是怎么回事吗?