1

プログラミング コンテスト システムでいくつかの問題を解決しようとしていて、2 ポイントの距離の問題を解決しようとしています。なぜ私のコードがすべての提出物のうち 1181 度にランク付けされたのかわかりません。

コードを実際よりも高速にするにはどうすればよいですか?

#include <stdio.h>
#include <math.h>

int main(){
    register unsigned int x1,x2,y1,y2;
    scanf("%i %i %i %i", &x1,&y1,&x2,&y2);
    printf("%.4f", sqrt(pow(x2-x1,2) + pow(y2-y1, 2)));
}
4

2 に答える 2

0

いくつかの冗長な関数呼び出しを取り除き、int->float 変換も回避できます。

#include <stdio.h>
#include <math.h>

int main(){
    double x1,x2,y1,y2;
    scanf("%lf %lf %lf %lf", &x1,&y1,&x2,&y2);
    printf("%.4f\n", sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));
    return 0;
}
于 2013-07-11T18:23:59.053 に答える