POJ 1940 Polygon Programming with Ease G++ 解简单方程 巧妙背

xiaoxiao2021-02-28  82

#include <iostream> #include <cstdio> using namespace std; //英语 看博友分析 抄博友程序 解简单方程 巧妙 背 //抄博友分析 struct point{ double x,y; }p[1005],s[1005]; int main() { int n; while(cin>>n)//如果n是偶数有无穷解 { for(int i=0;i<n;i++) { cin>>p[i].x>>p[i].y; } s[0].x=s[0].y=0; for(int i=0;i<n;i++) { if(i%2==0) { s[0].x+=p[i].x; s[0].y+=p[i].y; }else { s[0].x-=p[i].x; s[0].y-=p[i].y; } } for(int i=1;i<n;i++) { s[i].x=p[i-1].x*2-s[i-1].x; s[i].y=p[i-1].y*2-s[i-1].y; } cout<<n; for(int i=0;i<n;i++) { printf(" %.6f %.6f",s[i].x,s[i].y); } cout<<endl; } return 0; }

 

转载请注明原文地址: https://www.6miu.com/read-59641.html

最新回复(0)