?
题目描述:给出平面上N(N<=1000)个点。问是否可以找到一条竖线,使得所有点左右对称,如图所示:
#include #include #include #include #include #include #include using namespace std; #define FILE typedef pair point; int main(int argc, char* argv[]) { #ifdef FILE ifstream in(data.txt); ofstream out(output.txt); cin.rdbuf(in.rdbuf()); cout.rdbuf(out.rdbuf()); #endif int T; cin>>T; for(int i=0;i data; cin>>n; int sum = 0; for(int j=0;j >x>>y; sum+=x; data.insert(point(x*n,y)); } bool flag = true; for(set ::iterator i=data.begin();i!=data.end();i++) { point p = *i; if(data.find(point(2*sum-p.first,p.second))==data.end()) { flag = false; break; } } if(flag==true) { cout<