只有10分,MLE求助
查看原帖
只有10分,MLE求助
322705
Mr_Ender楼主2021/8/23 23:52
#include<bits/stdc++.h>
using namespace std;
int k,n,m,b[1005],u,v,ans;
bool pa[1005];
vector <int> p[1005];
void dfs(int x){
    b[x]++;
    for(int i=0;i<p[x].size();i++){
        dfs(p[x][i]);
    }
    return;
}
int main(){
    cin>>k>>n>>m;
    for(int i=1;i<=k;i++){
        cin>>v;
        pa[v]=true;
    }
    for(int i=1;i<=m;i++){
        cin>>u>>v;
        p[u].push_back(v);
    }
    for(int i=1;i<=n;i++){
        if(pa[i]){
            dfs(i);
        }
    }
    for(int i=1;i<=n;i++){
        if(b[i]==k){
            ans++;
        }
    }
    cout<<ans;
    system("pause");
    return 0;
}
2021/8/23 23:52
加载中...