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


C++ tree::assign方法代码示例

本文整理汇总了C++中tree::assign方法的典型用法代码示例。如果您正苦于以下问题:C++ tree::assign方法的具体用法?C++ tree::assign怎么用?C++ tree::assign使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tree的用法示例。


在下文中一共展示了tree::assign方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main()
{
	freopen("in.txt","r",stdin);
	
	ios_base::sync_with_stdio(false);
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		T.assign(n,list<int>());
		
		for(int i=0;i<n-1;i++)
		{	
			int a,b;
			cin>>a>>b;
			a--;
			b--;
			T[a].push_back(b);
			T[b].push_back(a);
		}

		nodeLevel.assign(n,-1);
		queue<int> Q;
		Q.push(0);
		nodeLevel[0]=0;
		
		while(!Q.empty())
		{
			int current=Q.front();
			Q.pop();
			for(list<int>::iterator i=T[current].begin();i!=T[current].end();i++)
			{
				if(nodeLevel[*i]==-1)
				{
					nodeLevel[*i]=1+nodeLevel[current];
					Q.push(*i);
				}
			}
		}
		solution=vector<vector<int> >(2,vector<int>(n,-1));
		target1=target2=vector<vector<int> >(2,vector<int>(n,-1));
		int totalPaths=solve(0,false);
		paths.assign(totalPaths,list<int>());
		currentPathNumber=0;
		generatePath(0,false,'b');
		cout<<paths.size()<<endl;
		
		for(int i=0;i<paths.size();i++)
		{
			for(list<int>::iterator j=paths[i].begin();j!=paths[i].end();j++)
				cout<<*j+1<<" ";
	
				cout<<endl;
		}
	}
}
开发者ID:PeacefulAbhyasi,项目名称:Competitive-Programming,代码行数:58,代码来源:shobhit.cpp


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