제출 #345054

#제출 시각아이디문제언어결과실행 시간메모리
345054daniel920712열대 식물원 (Tropical Garden) (IOI11_garden)C++14
0 / 100
2 ms2668 KiB
#include "garden.h"
#include "gardenlib.h"
#include "gardenlib.h"
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;
int con[100005];
vector < pair < int , int > > Next[100005];
bool F(int fa,int here,int how,int where,int deg)
{
    if(deg==how) return where==here;
    if(con[here]==0||fa!=Next[here][0].second) return F(here,Next[here][0].second,how,where,deg+1);
    else return F(here,Next[here][1].second,how,where,deg+1);
}
void count_routes(int N, int M, int P, int R[][2], int Q, int G[])
{
    int i,now=0,j;
    for(i=0;i<M;i++)
    {
        Next[R[i][0]].push_back(make_pair(0-G[i],R[i][1]));
        Next[R[i][1]].push_back(make_pair(0-G[i],R[i][0]));
        con[R[i][0]]++;
        con[R[i][1]]++;
    }
    for(i=0;i<N;i++) sort(Next[i].begin(),Next[i].end());
    for(i=0;i<Q;i++)
    {
        for(j=0;j<N;j++)
        {
            now+=F(-1,0,G[i],P,0);
        }
        answer(now);
    }

}


#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...