当前位置: 首页>>代码示例>>C++>>正文


C++ data::print方法代码示例

本文整理汇总了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);
	}
开发者ID:danalex97,项目名称:Codeforces,代码行数:21,代码来源:tt.cpp

示例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;
}
开发者ID:737363395,项目名称:bzoj,代码行数:51,代码来源:4271.cpp


注:本文中的data::print方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。