// OBčh2009 Day3 C : Find the Point #include #include #include using namespace std; typedef complex P; typedef pair L; const double EPS = 1e-5; double cross(P a, P b) { return imag(conj(a)*b); } bool lineCross(L l, L m){ return abs(imag((l.first-l.second)/(m.first-m.second))) distLine(L l, L m){ vector res; if(lineCross(l,m)){ P a = (l.first+m.first)/2.0; P b = a+(l.second-l.first)/abs(l.second-l.first); res.push_back(make_pair(a,b)); } else { P a = ssCrosspoint(l, m); if(abs(l.first-a)> n, n){ vector< pair > vp; for(int i=0;i> a >> b >> c >> d;{ vp.push_back(make_pair(P(a,b),P(c,d))); } } if(n<3){ puts("Many"); continue; } vector

vpt; vector vlA = distLine(vp[0],vp[1]), vlB = distLine(vp[0], vp[2]); for(int i=0;i tmp; tmp.push_back(vpt[0]); for(int i=1;i nvp; for(int k=0;k vL = distLine(vp[i],vp[j]); bool flag = false; for(int l=0;l1) { puts("Many"); } else { printf("%.5lf %.5lf\n", real(vpt[0]), imag(vpt[0])); } } return 0; }