Submission #1518485


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb push_back
#define mp make_pair
void dfs(int no,int d,int k);
vector<int> ed[100001];
int visit[100001];
int ans=0;
int main(){
int i,j;
int n,k;
cin>>n>>k;
int a[n+1];
for(i=1;i<=n;i++)
{cin>>a[i];
if(i==1){
    if(a[1]!=1)
        {a[1]=1;
        ans++;
        }

continue;
}
else
ed[a[i]].pb(i);
}

if(k<=1e5){
dfs(1,0,k);
}
cout<<ans<<endl;




return 0;
}
void dfs(int no,int d,int k){
visit[no]=1;
int i;
if(d>k)
    {
        ans++;
    d=1;
    }

for(i=0;i<ed[no].size();i++){
if(visit[ed[no[i]]==0)
    dfs(ed[no][i],d+1,k);

}




}

Submission Info

Submission Time
Task D - Teleporter
User adam1007
Language C++14 (GCC 5.4.1)
Score 0
Code Size 683 Byte
Status CE

Compile Error

./Main.cpp: In function ‘void dfs(int, int, int)’:
./Main.cpp:49:17: error: invalid types ‘int[int]’ for array subscript
 if(visit[ed[no[i]]==0)
                 ^
./Main.cpp:49:22: error: expected ‘]’ before ‘)’ token
 if(visit[ed[no[i]]==0)
                      ^