poj 1939 Diplomatic License
646 ワード
全く難易度はなく、問題を読めばいいのですが、注意してください.
n個の座標を与えて、n個の中点を求めます
trick:テーマに関係なくpojのg++浮動小数点数演算に問題がある
g++さえすれば、lfあるいはfでしっかりとひざまずいて、pojは妥当にタイムアウトします!
c++に変更すると過ぎてしまいますが・・・
ACコード:
n個の座標を与えて、n個の中点を求めます
trick:テーマに関係なくpojのg++浮動小数点数演算に問題がある
g++さえすれば、lfあるいはfでしっかりとひざまずいて、pojは妥当にタイムアウトします!
c++に変更すると過ぎてしまいますが・・・
ACコード:
#include <stdio.h>
#define MAXN 500
double x[MAXN],y[MAXN];
int main()
{
int n;
int i;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%lf%lf",&x[i],&y[i]);
printf("%d ",n);
for(i=0;i<n-1;i++)
printf("%.6lf %.6lf ",(x[i]+x[i+1])/2.0,(y[i]+y[i+1])/2.0);
printf("%.6lf %.6lf
",(x[n-1]+x[0])/2.0,(y[n-1]+y[0])/2.0);
}
return 0;
}