#include#include #include #include using namespace std;int n;int x[30],y[30];class Coordinate{public: double xCoordinate; double yCoordinate; Coordinate(double x = 0,double y = 0) { this->xCoordinate = x; this->yCoordinate = y; } bool operator!=(Coordinate const &comp) const { return (this->xCoordinate != comp.xCoordinate || this->yCoordinate != comp.yCoordinate); }}tp[10];bool Judge(Coordinate const x,Coordinate const y,Coordinate const z){ Coordinate *mVector = new Coordinate(x.xCoordinate - y.xCoordinate, x.yCoordinate - y.yCoordinate); Coordinate *nVector = new Coordinate(z.xCoordinate - (x.xCoordinate + y.xCoordinate)/2, z.yCoordinate - (x.yCoordinate + y.yCoordinate)/2); bool result = ((mVector->xCoordinate * nVector->xCoordinate + mVector->yCoordinate * nVector->yCoordinate) == 0); if(result) result = (mVector->xCoordinate * mVector->xCoordinate + mVector->yCoordinate * mVector->yCoordinate) == ((nVector->xCoordinate * nVector->xCoordinate + nVector->yCoordinate * nVector->yCoordinate) * 4); delete mVector; delete nVector; return result;}bool IsSquare(Coordinate *tp,int length){ if(length != 4) return false; int a,b,c; if(Judge(tp[0],tp[1],tp[2])) { a = 0; b = 1; c = 2; } else if(Judge(tp[0],tp[2],tp[1])) { a = 0; b = 2; c = 1; } else if(Judge(tp[2],tp[1],tp[0])) { a = 1; b = 2; c = 0; } else return false; return (tp[3] != tp[c] && Judge(tp[a],tp[b],tp[3]));}int main(){ while(~scanf("%d",&n)){ int ans=0; for(int i=0;i
版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/