1 条题解
-
0
#include<cstdio> #include<iostream> double x[1010],y[1010],xx[1010],yy[1010]; int main() { int n; while(scanf("%d",&n)!=EOF) { int i; double a=0,b=0;//注意初始化 for(i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]); printf("%d",n);//按格式输出 for(i=1;i<=n;i++)//用高斯消元求出第一个点的坐标 { if(i&1) a+=x[i],b+=y[i]; else a-=x[i],b-=y[i]; } xx[1]=a; yy[1]=b; for(i=2;i<=n;i++)//递推求出其他点坐标 { xx[i]=xx[i-1]+2.0*(x[i-1]-xx[i-1]); yy[i]=yy[i-1]+2.0*(y[i-1]-yy[i-1]); } for(i=1;i<=n;i++) printf(" %.6lf %.6lf",xx[i],yy[i]); printf("\n"); } return 0; }
- 1
信息
- ID
- 941
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者