本文整理汇总了C++中poly::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ poly::clear方法的具体用法?C++ poly::clear怎么用?C++ poly::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类poly
的用法示例。
在下文中一共展示了poly::clear方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: convex_hull
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]) ;
}
}
示例2: read
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 ) );
}
}
示例3: main
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;
}