void convex_hull(poly &v,poly &p) { p.clear() ; sort(v.begin(),v.end()) ; v.resize(unique(v.begin(),v.end())-v.begin()) ; int n=v.size() ; int sz=0 ; for(int i=0;i<n;i++) { while(sz>=2 && dcmp(cross(st[sz-2],st[sz-1],v[i]))<0) sz-- ; st[sz++]=v[i] ; } for(int i=0;i<sz;i++) p.push_back(st[i]) ; sz=0 ; for(int i=0;i<n;i++) { while(sz>=2 && dcmp(cross(st[sz-2],st[sz-1],v[i])>0)) sz-- ; st[sz++]=v[i] ; } for(int i=sz-1;i>=0;i--) { if(i==sz-1 && st[i]==p.back()) continue ; if(i==0 && st[i]==p[0]) continue ; p.push_back(st[i]) ; } }
void read( poly& pp , string ss , LL mod ){ pp.clear(); if( ss[ 0 ] != '-' ) ss = '+' + ss; size_t st = 0; while( st < ss.length() ){ size_t lst = st; st ++; while( st < ss.length() and ss[ st ] != '+' and ss[ st ] != '-' ) st ++; pp.push_back( parse( ss , lst , st , mod ) ); } }
int main(void) { int x, y, i, k = 0; point p; while (1) { cin >> n >> m; if (n == 0 && m == 0) break; saplings.clear(); for (i = 0; i < n; ++i) { cin >> x >> y; p = point(x,y); saplings.push_back(p); } printf("Case %d: length = %.2f\n", ++k, solve()); } return 0; }
int main(){ X.push_back(0); X.push_back(1); str=new char[101]; int t; readint(t); while(t--){ scanf("%s",str); ptr=0; poly res=solve(); printpoly(res); printf("%.19Lf\n",integrate(res)); } return 0; }
void convex_hull(poly & t, poly & r) { unsigned i; Compare order; // Search leftmost vertex order.p0 = t[0]; for (i = 1; i < t.size(); ++i) if (t[i].real() < order.p0.real()) order.p0 = t[i]; sort(t.begin(), t.end(), order); for (i = 0; i < t.size(); ++i) { r.push_back(t[i]); // Pop vertices that become internal while (r.size() > 3u && angle(r.end()[-3], r.end()[-2], r.end()[-1])) { r.end()[-2] = r.back(); r.pop_back(); } } return; }
main() { int n ; scanf("%d",&n) ; for(int i=1;i<=n;i++) { scanf("%d%d",&x[i],&y[i]) ; a.push_back((pt){mul/x[i],mul/y[i]}) ; } convex_hull(a,b) ; for(int i=0;i<b.size();i++) { if(i && dcmp(b[i-1].y-b[i].y)<=0) break ; int x0=int(mul/b[i].x+0.5) , y0=int(mul/b[i].y+0.5) ; ans.insert((pii){x0,y0}) ; } for(int i=1;i<=n;i++) if(ans.count((pii){x[i],y[i]})) printf("%d ",i) ; printf("\n") ; }