本文整理汇总了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;
}
}
}