Search
๐Ÿป

๊น€๊ธฐํ—Œ

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
600
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
#include <vector> #include <algorithm> #include <queue> using namespace std; bool check[205]; //๋ฐฉ๋ฌธ์—ฌ๋ถ€ ์ฒดํฌ ๋ฐฐ์—ด queue<int>q; int n; void bfs(int n, vector<vector<int>>computers) { while (!q.empty()) { //bfs์ฝ”๋“œ int now = q.front(); q.pop(); for (int i = 0; i < n; i++) { int next = i; if (!check[next] && computers[now][next]) { //next๋ฅผ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๊ณ , now์™€ next๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋ฉด check[next] = 1; q.push(next); } } } } int solution(int n, vector<vector<int>> computers) { int answer = 0; for (int i = 0; i < n; i++) { if (!check[i]) { //i๋ฒˆ์„ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด answer++; check[i] = 1; //๋ฐฉ๋ฌธ์ฒดํฌ q.push(i); //q์— ๋„ฃ๊ณ  bfs ์‹œ์ž‘ bfs(n, computers); } } return answer; }
C++
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
์ธ์ ‘ํ–‰๋ ฌ ํ˜•ํƒœ๋กœ ์ฃผ์–ด์ง„ ๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ์„ฑ๋ถ„์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
0๋ถ€ํ„ฐ n-1๊นŒ์ง€ BFSํ˜น์€ DFS๋กœ ํƒ์ƒ‰ํ•˜์—ฌ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋…ธ๋“œ๋“ค์€ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋“ค๋ถ€ํ„ฐ ๋‹ค์‹œ ํƒ์ƒ‰ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ!
DFS์™€ BFS์— ๋Œ€ํ•œ ์ •๋ฆฌ