40分求调
查看原帖
40分求调
923953
mahaorui2012楼主2023/11/12 16:08

深搜,后6个点都少1

#include <iostream>
using namespace std;

int n,sum;
bool map[1005][1005],vis[1005];

void dfs(int cur,int depth){
    if(depth>2) return;
    sum++;
    vis[cur]=true;
    for(int i=1;i<=n;i++){
        if(!vis[i] && map[cur][i]){
            dfs(i,depth+1);
        }
    }
}

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        int t;
        cin>>t;
        for(int j=0;j<t;j++){
            int a;
            cin>>a;
            map[i][a]=true;
        }
    }dfs(1,0);
    cout<<sum;
}
2023/11/12 16:08
加载中...