๋ฌธ์
์ฝ๋
#include <iostream>
#include <vector>
#include <memory.h>
using namespace std;
bool visited[10001];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int T; cin >> T;
while (T--) {
int N; cin >> N;
vector<int>graph(N + 1);
for (int i = 1; i <= N - 1; i++) {
int a, b; cin >> a >> b;
graph[b] = a;
}
int a, b; cin >> a >> b;
visited[a] = true;
while (a != graph[a]) {
visited[a] = true;
a = graph[a];
}
while (true) {
if (visited[b] == true) {
cout << b << '\n';
break;
}
b = graph[b];
}
memset(visited, 0, sizeof(visited));
}
}
ํ์ด
์์ ๊ฐ์ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ก์ ๋ ๋ ๋ ธ๋์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์ ๋ ธ๋๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ ๋๋ค.
- ๋จผ์ ์ ๋ ฅ๋ฐ์ ๋ ธ๋๋ค๋ง๋ค ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ธฐ์ตํด์ค๋๋ค.
- ๋ ๋ ธ๋ ์ค ํ ๋ ธ๋๋ฅผ ์ก์์ ํด๋น ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ์ ๋ถ ๋ฐฉ๋ฌธ์ฒ๋ฆฌํฉ๋๋ค.
- ๋จ์ ํ ๋ ธ๋๋ฅผ ์ก์์ ํด๋น ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ์ ๋ถ ๋ฐฉ๋ฌธํ ๋ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๊ฐ ์ด๋ฏธ ๋ ๋ ธ๋๊ฐ ์์ผ๋ฉด ํด๋น ๋ ธ๋๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต ์กฐ์ ๋ ธ๋๊ฐ ๋ฉ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 12933๋ฒ - ์ค๋ฆฌ (0) | 2022.07.19 |
---|---|
[๋ฐฑ์ค,c++] 1343๋ฒ - ํด๋ฆฌ์ค๋ฏธ๋ ธ (0) | 2022.07.14 |
[๋ฐฑ์ค,c++] 1967๋ฒ - ํธ๋ฆฌ์ ์ง๋ฆ (0) | 2022.07.11 |
[๋ฐฑ์ค,c++] 14675๋ฒ - ๋จ์ ์ ๊ณผ ๋จ์ ์ (0) | 2022.06.30 |
[๋ฐฑ์ค,c++] 6416๋ฒ - ํธ๋ฆฌ์ธ๊ฐ? (0) | 2022.06.30 |
[๋ฐฑ์ค,c++] 1068๋ฒ - ํธ๋ฆฌ (0) | 2022.06.21 |
๋๊ธ