*浙大PAT甲级 1079

这个题对时间的限制比较要,因此要用bfs先求得各结点的层次,否则在遍历中多次对结点求层次会导致超时。

AC代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 999999999
using namespace std;
double rr[100005];
struct node
{
    int parent;
    vector child;
    int lay;
    int num=0;
};
node a[100005];
void bfs()
{
    queue q;
    a[0].lay=0;
    q.push(a[0]);
    while(!q.empty())
    {
        node tmp=q.front();
        q.pop();
        for(int i=0;i


你可能感兴趣的:(浙大pat)