poj 1939 Diplomatic License

646 ワード

全く難易度はなく、問題を読めばいいのですが、注意してください.
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; }