1 solutions

  • 0
    @ 2024-12-10 23:09:26

    C++ :

    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    const int MAXN = 100001, MAXM = 100001;
    int first[MAXN], nexte[MAXM];
    int u[MAXN], v[MAXN];
    int T, M, ID;
    int ans;
    int vis[MAXN];
    void dfs(int s)
    {
    	for(int i = first[s]; i != -1; i = nexte[i])
    		if(!vis[v[i]])
    		{
    			vis[v[i]] = 1;
    			dfs(v[i]);
    			ans++;
    		}
    }
    
    int main()
    {
    	//freopen("in.txt", "r", stdin);
    	scanf("%d", &T);
    	for(int t = 1; t <= T; t++)
    	{
    		memset(first, -1, sizeof(first));
    		scanf("%d%d", &M, &ID);
    		for(int i = 0; i < M; i++)
    		{
    			scanf("%d%d", &v[i], &u[i]);
    			nexte[i] = first[u[i]];
    			first[u[i]] = i;
    		}
    		ans = 0;
    		memset(vis, 0, sizeof(vis));
    		vis[ID] = 1;
    		dfs(ID);
    		printf("Case #%d: %d\n", t, ans);
    	}
    	return 0;
    }
    
    • 1

    Information

    ID
    576
    Time
    1000ms
    Memory
    32MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By