문제 : https://www.acmicpc.net/problem/1325 > n >> m; 문제에서 주어진 변수를 선언하고 입력받는다. while (m--) { int a, b; cin >> a >> b; graph[b].push_back(a); } 간선의 개수인 m번만큼 한 간선이 연결하는 두 정점을 입력받는다. 이때, 단방향 그래프임에 유의하여 b정점에 연결된 정점으로 a를 추가해준다. int maxNum = 0; vectorans; for (int i = 1; i maxNum){ maxNum=cnt; ans.clear(); ans.push_back(i); } else if(cnt ==maxNum){ ans.push_back(i); } for (int j = 0; j
문제 : https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 깊이 우선 탐색 알고리즘을 사용하면 아주 쉽게 풀 수 있는 문제다. 1번 컴퓨터와 연결된 컴퓨터에 대해서만 탐색을 하면 된다. #include #include using namespace std; bool visited[101]; vector graph[101]; int cnt=0; void dfs(int x){ cnt++; visited[x]=true; for(int i : graph[x])..