Reconstruct Graph as SCC (Strongly COnnected Component) only, Thus making it a DAG.
Once new Graph is constructed (SCC only) calculate InDeg for every vertices.
Now find number of vertices with 0 indeg other then source. This would be our ans. (Note: this by default always be minimum as the Converting Graph to SCC pops out the SCC in linear/ DAG manner and we can check how all SCCs can be connected with each other to be 1 single SCC (which is goal but with minimum edges to be added))
Now how to convert graph to SCC? Use of Kosaraju's Algorithm (https://www.geeksforgeeks.org/kosarajus-algorithm-in-c/)
Only difficult part here is to to see how can implement Kosaraju's algo in the code as per the requirement which can sometimes tricky.