本文整理汇总了C++中data::print方法的典型用法代码示例。如果您正苦于以下问题:C++ data::print方法的具体用法?C++ data::print怎么用?C++ data::print使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类data
的用法示例。
在下文中一共展示了data::print方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: print
void print(int all)
{
if ( all )
{
cerr<<lt<<' '<<rt<<' ';
x.print('\n');
}
if ( lt == rt )
{
if ( !all ) x.print(' ');
return;
}
int md = (lt + rt)/2;
if ( l == NULL ) l = new seg(lt,md);
if ( r == NULL ) r = new seg(md+1,rt);
l->print(all);
r->print(all);
}
示例2: main
int main(){
scanf("%d",&n);
if(n==1){
printf("1\n");
return 0;
}
f[1].make(1);
for(i=2;i<<1<=n;i++){
f[i]=f[i-1];
for(u=1;u<<1<i;u++){
v=i-u-1;
if(u==v)f[i]=f[i]+f[u]*(f[u]+1)/2;
else f[i]=f[i]+f[u]*f[v];
}
for(u=1;u*3<i;u++)
for(v=u;v*2<i-u;v++){
w=i-1-u-v;
if(u==v && v==w)f[i]=f[i]+f[u]*(f[u]+1)*(f[u]+2)/6;
if(u==v && v<w)f[i]=f[i]+f[u]*(f[u]+1)/2*f[w];
if(u<v && v==w)f[i]=f[i]+f[v]*(f[v]+1)/2*f[u];
if(u<v && v<w)f[i]=f[i]+f[u]*f[v]*f[w];
}
}
ans.make(0);
ans=ans+f[n>>1]*(f[n>>1]+1)/2;
for(u=1;u*3<n;u++)
for(v=u;v*2<n-u;v++){
w=n-1-u-v;
if(w<<1>=n)continue;
if(u==v && v==w)ans=ans+f[u]*(f[u]+1)*(f[u]+2)/6;
if(u==v && v<w)ans=ans+f[u]*(f[u]+1)/2*f[w];
if(u<v && v==w)ans=ans+f[v]*(f[v]+1)/2*f[u];
if(u<v && v<w)ans=ans+f[u]*f[v]*f[w];
}
for(u=1;u*4<n;u++)
for(v=u;v*3<n-u;v++)
for(w=v;w*2<n-u-v;w++){
k=n-1-u-v-w;
if(k<<1>=n)continue;
if(u==v && v==w && w==k)ans=ans+f[u]*(f[u]+1)*(f[u]+2)*(f[u]+3)/24;
if(u==v && v==w && w<k)ans=ans+f[u]*(f[u]+1)*(f[u]+2)/6*f[k];
if(u<v && v==w && w==k)ans=ans+f[v]*(f[v]+1)*(f[v]+2)/6*f[u];
if(u==v && v<w && w<k)ans=ans+f[u]*(f[u]+1)/2*f[w]*f[k];
if(u<v && v==w && w<k)ans=ans+f[v]*(f[v]+1)/2*f[u]*f[k];
if(u<v && v<w && w==k)ans=ans+f[w]*(f[w]+1)/2*f[u]*f[v];
if(u==v && v<w && w==k)ans=ans+(f[u]*(f[u]+1)/2)*(f[w]*(f[w]+1)/2);
if(u<v && v<w && w<k)ans=ans+f[u]*f[v]*f[w]*f[k];
}
ans.print();
return 0;
}