
16928๋ฒ: ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์
์ฒซ์งธ ์ค์ ๊ฒ์ํ์ ์๋ ์ฌ๋ค๋ฆฌ์ ์ N(1 โค N โค 15)๊ณผ ๋ฑ์ ์ M(1 โค M โค 15)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ฌ๋ค๋ฆฌ์ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ x, y (x < y)๊ฐ ์ฃผ์ด์ง๋ค. x๋ฒ ์นธ์ ๋์ฐฉํ๋ฉด, y๋ฒ ์นธ์ผ
www.acmicpc.net
๋ฌธ์
๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์์ ์ฆ๊ฒจ ํ๋ ํ๋ธ๋ฌ๋ฒ๋ ์ด๋ ๋ ๊ถ๊ธํ ์ ์ด ์๊ฒผ๋ค.
์ฃผ์ฌ์๋ฅผ ์กฐ์ํด ๋ด๊ฐ ์ํ๋ ์๊ฐ ๋์ค๊ฒ ๋ง๋ค ์ ์๋ค๋ฉด, ์ต์ ๋ช ๋ฒ๋ง์ ๋์ฐฉ์ ์ ๋์ฐฉํ ์ ์์๊น?
๊ฒ์์ ์ ์ก๋ฉด์ฒด ์ฃผ์ฌ์๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ฃผ์ฌ์์ ๊ฐ ๋ฉด์๋ 1๋ถํฐ 6๊น์ง ์๊ฐ ํ๋์ฉ ์ ํ์๋ค. ๊ฒ์์ ํฌ๊ธฐ๊ฐ 10ร10์ด๊ณ , ์ด 100๊ฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ ๋ณด๋ํ์์ ์งํ๋๋ค. ๋ณด๋ํ์๋ 1๋ถํฐ 100๊น์ง ์๊ฐ ํ๋์ฉ ์์๋๋ก ์ ํ์ ธ ์๋ค.
ํ๋ ์ด์ด๋ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค ๋์จ ์๋งํผ ์ด๋ํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ํ๋ ์ด์ด๊ฐ i๋ฒ ์นธ์ ์๊ณ , ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค ๋์จ ์๊ฐ 4๋ผ๋ฉด, i+4๋ฒ ์นธ์ผ๋ก ์ด๋ํด์ผ ํ๋ค. ๋ง์ฝ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ฆฐ ๊ฒฐ๊ณผ๊ฐ 100๋ฒ ์นธ์ ๋์ด๊ฐ๋ค๋ฉด ์ด๋ํ ์ ์๋ค. ๋์ฐฉํ ์นธ์ด ์ฌ๋ค๋ฆฌ๋ฉด, ์ฌ๋ค๋ฆฌ๋ฅผ ํ๊ณ ์๋ก ์ฌ๋ผ๊ฐ๋ค. ๋ฑ์ด ์๋ ์นธ์ ๋์ฐฉํ๋ฉด, ๋ฑ์ ๋ฐ๋ผ์ ๋ด๋ ค๊ฐ๊ฒ ๋๋ค. ์ฆ, ์ฌ๋ค๋ฆฌ๋ฅผ ์ด์ฉํด ์ด๋ํ ์นธ์ ๋ฒํธ๋ ์๋ ์๋ ์นธ์ ๋ฒํธ๋ณด๋ค ํฌ๊ณ , ๋ฑ์ ์ด์ฉํด ์ด๋ํ ์นธ์ ๋ฒํธ๋ ์๋ ์๋ ์นธ์ ๋ฒํธ๋ณด๋ค ์์์ง๋ค.
๊ฒ์์ ๋ชฉํ๋ 1๋ฒ ์นธ์์ ์์ํด์ 100๋ฒ ์นธ์ ๋์ฐฉํ๋ ๊ฒ์ด๋ค.
๊ฒ์ํ์ ์ํ๊ฐ ์ฃผ์ด์ก์ ๋, 100๋ฒ ์นธ์ ๋์ฐฉํ๊ธฐ ์ํด ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ผ ํ๋ ํ์์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๊ฒ์ํ์ ์๋ ์ฌ๋ค๋ฆฌ์ ์ N(1 โค N โค 15)๊ณผ ๋ฑ์ ์ M(1 โค M โค 15)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ฌ๋ค๋ฆฌ์ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ x, y (x < y)๊ฐ ์ฃผ์ด์ง๋ค. x๋ฒ ์นธ์ ๋์ฐฉํ๋ฉด, y๋ฒ ์นธ์ผ๋ก ์ด๋ํ๋ค๋ ์๋ฏธ์ด๋ค.
๋ค์ M๊ฐ์ ์ค์๋ ๋ฑ์ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ u, v (u > v)๊ฐ ์ฃผ์ด์ง๋ค. u๋ฒ ์นธ์ ๋์ฐฉํ๋ฉด, v๋ฒ ์นธ์ผ๋ก ์ด๋ํ๋ค๋ ์๋ฏธ์ด๋ค.
1๋ฒ ์นธ๊ณผ 100๋ฒ ์นธ์ ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ์ ์์ ๋๋ ๋์ด ์๋๋ค. ๋ชจ๋ ์นธ์ ์ต๋ ํ๋์ ์ฌ๋ค๋ฆฌ ๋๋ ๋ฑ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋์์ ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ๋ ์๋ค. ํญ์ 100๋ฒ ์นธ์ ๋์ฐฉํ ์ ์๋ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
100๋ฒ ์นธ์ ๋์ฐฉํ๊ธฐ ์ํด ์ฃผ์ฌ์๋ฅผ ์ต์ ๋ช ๋ฒ ๊ตด๋ ค์ผ ํ๋์ง ์ถ๋ ฅํ๋ค.

ํ์ด๊ณผ์
ํด๋น๋ฌธ์ ์์ ์๊ตฌํ๋ ์ฌํญ์ "๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ๊ฒ์์์100๊น์ง ๋์ฐฉํ ์ ์๋ ์ต์๊ฐ์ ๊ตฌํด๋ผ" ๋ผ๋ ๋ฌธ์ ์์๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง๋ ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ์ ์๊ฐ ํฉ์ณ๋ดค์ ์ต๋ 30๊ฐ์ด๊ธฐ๋๋ฌธ์ ์๊ฐ ๊ฑฑ์ ์ด ํฌ๊ฒ ์์ด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๋๋ฉด ๋์ง์์๊น ๋ผ๋ ์๊ฐ์ด ๋ค์ด ํด๋น ๋ฐฉ๋ฒ์ผ๋ก ์งํํ์๋ค.
ํ์ฌ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฃผ์ฌ์๋ฅผ ํ๋ฒ ๋ ๊ตด๋ ค์ ๋์ฐฉํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋
+1, +2, +3, +4, +5, +6 ์ด๊ณ ๊ทธ์ค์์ ๋ง์ฝ์ ์ด๋ํ ์์น์ ๋ฑํน์ ์ฌ๋ค๋ฆฌ๊ฐ ์๋ค๋ฉด ๋ฌด์กฐ๊ฑด ์ด์ฉ์ ํด์ผํ๋ ๋๋ฌธ์ ๊ทธ ๊ฒฝ์ฐ๋ฅผ ํฌํจํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ณ์ฐ ํ๋ ๋ฐฉ์์ผ๋ก ์งํ์ ํ์๊ณ ,
๋ฌธ์ ์์ "100๊น์ง ๋์ฐฉํ ๋ ์ฃผ์ฌ์๋ฅผ ์ต์๊ฐ์ผ๋ก ๊ตฌํด๋ผ"๋ผ๊ณ ํด์ check๋ผ๋ ๋ฐฐ์ด์ ์ ์ธํด์ค์ n์ด๋ผ๋ ์์น์ ๋์ฐฉํ์๋ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ฆฐ ํ์๊ฐ ์ต์๊ฐ์ธ ๊ฒฝ์ฐ์๋ง ๋ ์งํ์ ํ ์ ์๊ฒ ์กฐ๊ฑด์์ ๋ง๋ค์ด๋์๋ค.
์์ ๊ฐ์ ์กฐ๊ฑด์์ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋ค๋๋ ธ์๋ ๊ฐ์ฅ๋จผ์ 100์ ๋์ฐฉํ ๊ฒฝ์ฐ์ ์ฃผ์ฌ์ ํ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ํ์ด๋ฅผ ๊ตฌ์ฑํ์๋ค.
code
#include <iostream>
#include <vector>
#include <queue>
std::vector<int> vec[101];
int check[101];
void bfs()
{
std::queue <std::pair<int, int> > que;
std::pair<int, int> pos;
std::fill_n(check, 101, 101);
que.push(std::make_pair(1, 0));
while (!que.empty())
{
pos = que.front();
if (pos.first == 100) break;
que.pop();
for(int i = pos.first; i <= pos.first + 6; i++) {
if (100 < i) break;
if (!vec[i].empty()) {
if (pos.second + 1 < check[i]) {
que.push(std::make_pair(vec[i].front(), pos.second + 1));
check[i] = pos.second + 1;
}
}
else if (pos.first < i) {
if (pos.second + 1 < check[i]) {
que.push(std::make_pair(i, pos.second + 1));
check[i] = pos.second + 1;
}
}
}
}
std::cout << pos.second << "\n";
}
int main(void)
{
int n, m, u, v;
std::cin >> n >> m;
for (int i = 0; i < n + m; i++) {
std::cin >> u >> v;
vec[u].push_back(v);
}
bfs();
return (0);
}

ํ๊ธฐ
๋ก์ง์์ฒด๊ฐ ์ด๋ ต์ง๋ ์์๋๋ฐ
check ๋ฐฐ์ด์ ์ด๊ธฐํํด์ฃผ๋ ๊ณผ์ ์์ 101๊น์ง ์ด๊ธฐํ๋ฅผ ํด์ผํ๋๋ฐ 100๊น์ง๋ง ์ด๊ธฐํ๋ฅผ ํด์คฌ์ด์์ด์ํ ๋ฐ๋ก๊ฐ ์๊ฒจ ๋ฒ๋ ค์
๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ ค๋ฒ๋ ธ๋ค.
'Algorithm > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2805๋ฒ - ๋๋ฌด ์๋ฅด๊ธฐ (C++) (1) | 2023.09.09 |
---|---|
[๋ฐฑ์ค] 17219๋ฒ - ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ (C++) (0) | 2023.09.08 |
[๋ฐฑ์ค] 9205๋ฒ - ๋งฅ์ฃผ ๋ง์๋ฉด์ ๊ฑธ์ด๊ฐ๊ธฐ (C++) (0) | 2023.09.06 |
[๋ฐฑ์ค] 21736๋ฒ - ํ๋ด๊ธฐ๋ ์น๊ตฌ๊ฐ ํ์ํด (C++) (0) | 2023.09.05 |
[๋ฐฑ์ค] 15904๋ฒ - UCPC๋ ๋ฌด์์ ์ฝ์์ผ๊น? (C++) (0) | 2023.09.05 |

16928๋ฒ: ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์
์ฒซ์งธ ์ค์ ๊ฒ์ํ์ ์๋ ์ฌ๋ค๋ฆฌ์ ์ N(1 โค N โค 15)๊ณผ ๋ฑ์ ์ M(1 โค M โค 15)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ฌ๋ค๋ฆฌ์ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ x, y (x < y)๊ฐ ์ฃผ์ด์ง๋ค. x๋ฒ ์นธ์ ๋์ฐฉํ๋ฉด, y๋ฒ ์นธ์ผ
www.acmicpc.net
๋ฌธ์
๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์์ ์ฆ๊ฒจ ํ๋ ํ๋ธ๋ฌ๋ฒ๋ ์ด๋ ๋ ๊ถ๊ธํ ์ ์ด ์๊ฒผ๋ค.
์ฃผ์ฌ์๋ฅผ ์กฐ์ํด ๋ด๊ฐ ์ํ๋ ์๊ฐ ๋์ค๊ฒ ๋ง๋ค ์ ์๋ค๋ฉด, ์ต์ ๋ช ๋ฒ๋ง์ ๋์ฐฉ์ ์ ๋์ฐฉํ ์ ์์๊น?
๊ฒ์์ ์ ์ก๋ฉด์ฒด ์ฃผ์ฌ์๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ฃผ์ฌ์์ ๊ฐ ๋ฉด์๋ 1๋ถํฐ 6๊น์ง ์๊ฐ ํ๋์ฉ ์ ํ์๋ค. ๊ฒ์์ ํฌ๊ธฐ๊ฐ 10ร10์ด๊ณ , ์ด 100๊ฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ ๋ณด๋ํ์์ ์งํ๋๋ค. ๋ณด๋ํ์๋ 1๋ถํฐ 100๊น์ง ์๊ฐ ํ๋์ฉ ์์๋๋ก ์ ํ์ ธ ์๋ค.
ํ๋ ์ด์ด๋ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค ๋์จ ์๋งํผ ์ด๋ํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ํ๋ ์ด์ด๊ฐ i๋ฒ ์นธ์ ์๊ณ , ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค ๋์จ ์๊ฐ 4๋ผ๋ฉด, i+4๋ฒ ์นธ์ผ๋ก ์ด๋ํด์ผ ํ๋ค. ๋ง์ฝ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ฆฐ ๊ฒฐ๊ณผ๊ฐ 100๋ฒ ์นธ์ ๋์ด๊ฐ๋ค๋ฉด ์ด๋ํ ์ ์๋ค. ๋์ฐฉํ ์นธ์ด ์ฌ๋ค๋ฆฌ๋ฉด, ์ฌ๋ค๋ฆฌ๋ฅผ ํ๊ณ ์๋ก ์ฌ๋ผ๊ฐ๋ค. ๋ฑ์ด ์๋ ์นธ์ ๋์ฐฉํ๋ฉด, ๋ฑ์ ๋ฐ๋ผ์ ๋ด๋ ค๊ฐ๊ฒ ๋๋ค. ์ฆ, ์ฌ๋ค๋ฆฌ๋ฅผ ์ด์ฉํด ์ด๋ํ ์นธ์ ๋ฒํธ๋ ์๋ ์๋ ์นธ์ ๋ฒํธ๋ณด๋ค ํฌ๊ณ , ๋ฑ์ ์ด์ฉํด ์ด๋ํ ์นธ์ ๋ฒํธ๋ ์๋ ์๋ ์นธ์ ๋ฒํธ๋ณด๋ค ์์์ง๋ค.
๊ฒ์์ ๋ชฉํ๋ 1๋ฒ ์นธ์์ ์์ํด์ 100๋ฒ ์นธ์ ๋์ฐฉํ๋ ๊ฒ์ด๋ค.
๊ฒ์ํ์ ์ํ๊ฐ ์ฃผ์ด์ก์ ๋, 100๋ฒ ์นธ์ ๋์ฐฉํ๊ธฐ ์ํด ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ค์ผ ํ๋ ํ์์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๊ฒ์ํ์ ์๋ ์ฌ๋ค๋ฆฌ์ ์ N(1 โค N โค 15)๊ณผ ๋ฑ์ ์ M(1 โค M โค 15)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ฌ๋ค๋ฆฌ์ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ x, y (x < y)๊ฐ ์ฃผ์ด์ง๋ค. x๋ฒ ์นธ์ ๋์ฐฉํ๋ฉด, y๋ฒ ์นธ์ผ๋ก ์ด๋ํ๋ค๋ ์๋ฏธ์ด๋ค.
๋ค์ M๊ฐ์ ์ค์๋ ๋ฑ์ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ u, v (u > v)๊ฐ ์ฃผ์ด์ง๋ค. u๋ฒ ์นธ์ ๋์ฐฉํ๋ฉด, v๋ฒ ์นธ์ผ๋ก ์ด๋ํ๋ค๋ ์๋ฏธ์ด๋ค.
1๋ฒ ์นธ๊ณผ 100๋ฒ ์นธ์ ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ์ ์์ ๋๋ ๋์ด ์๋๋ค. ๋ชจ๋ ์นธ์ ์ต๋ ํ๋์ ์ฌ๋ค๋ฆฌ ๋๋ ๋ฑ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋์์ ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ๋ ์๋ค. ํญ์ 100๋ฒ ์นธ์ ๋์ฐฉํ ์ ์๋ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
100๋ฒ ์นธ์ ๋์ฐฉํ๊ธฐ ์ํด ์ฃผ์ฌ์๋ฅผ ์ต์ ๋ช ๋ฒ ๊ตด๋ ค์ผ ํ๋์ง ์ถ๋ ฅํ๋ค.

ํ์ด๊ณผ์
ํด๋น๋ฌธ์ ์์ ์๊ตฌํ๋ ์ฌํญ์ "๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ๊ฒ์์์100๊น์ง ๋์ฐฉํ ์ ์๋ ์ต์๊ฐ์ ๊ตฌํด๋ผ" ๋ผ๋ ๋ฌธ์ ์์๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง๋ ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ์ ์๊ฐ ํฉ์ณ๋ดค์ ์ต๋ 30๊ฐ์ด๊ธฐ๋๋ฌธ์ ์๊ฐ ๊ฑฑ์ ์ด ํฌ๊ฒ ์์ด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๋๋ฉด ๋์ง์์๊น ๋ผ๋ ์๊ฐ์ด ๋ค์ด ํด๋น ๋ฐฉ๋ฒ์ผ๋ก ์งํํ์๋ค.
ํ์ฌ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฃผ์ฌ์๋ฅผ ํ๋ฒ ๋ ๊ตด๋ ค์ ๋์ฐฉํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋
+1, +2, +3, +4, +5, +6 ์ด๊ณ ๊ทธ์ค์์ ๋ง์ฝ์ ์ด๋ํ ์์น์ ๋ฑํน์ ์ฌ๋ค๋ฆฌ๊ฐ ์๋ค๋ฉด ๋ฌด์กฐ๊ฑด ์ด์ฉ์ ํด์ผํ๋ ๋๋ฌธ์ ๊ทธ ๊ฒฝ์ฐ๋ฅผ ํฌํจํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ณ์ฐ ํ๋ ๋ฐฉ์์ผ๋ก ์งํ์ ํ์๊ณ ,
๋ฌธ์ ์์ "100๊น์ง ๋์ฐฉํ ๋ ์ฃผ์ฌ์๋ฅผ ์ต์๊ฐ์ผ๋ก ๊ตฌํด๋ผ"๋ผ๊ณ ํด์ check๋ผ๋ ๋ฐฐ์ด์ ์ ์ธํด์ค์ n์ด๋ผ๋ ์์น์ ๋์ฐฉํ์๋ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ฆฐ ํ์๊ฐ ์ต์๊ฐ์ธ ๊ฒฝ์ฐ์๋ง ๋ ์งํ์ ํ ์ ์๊ฒ ์กฐ๊ฑด์์ ๋ง๋ค์ด๋์๋ค.
์์ ๊ฐ์ ์กฐ๊ฑด์์ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋ค๋๋ ธ์๋ ๊ฐ์ฅ๋จผ์ 100์ ๋์ฐฉํ ๊ฒฝ์ฐ์ ์ฃผ์ฌ์ ํ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ํ์ด๋ฅผ ๊ตฌ์ฑํ์๋ค.
code
#include <iostream>
#include <vector>
#include <queue>
std::vector<int> vec[101];
int check[101];
void bfs()
{
std::queue <std::pair<int, int> > que;
std::pair<int, int> pos;
std::fill_n(check, 101, 101);
que.push(std::make_pair(1, 0));
while (!que.empty())
{
pos = que.front();
if (pos.first == 100) break;
que.pop();
for(int i = pos.first; i <= pos.first + 6; i++) {
if (100 < i) break;
if (!vec[i].empty()) {
if (pos.second + 1 < check[i]) {
que.push(std::make_pair(vec[i].front(), pos.second + 1));
check[i] = pos.second + 1;
}
}
else if (pos.first < i) {
if (pos.second + 1 < check[i]) {
que.push(std::make_pair(i, pos.second + 1));
check[i] = pos.second + 1;
}
}
}
}
std::cout << pos.second << "\n";
}
int main(void)
{
int n, m, u, v;
std::cin >> n >> m;
for (int i = 0; i < n + m; i++) {
std::cin >> u >> v;
vec[u].push_back(v);
}
bfs();
return (0);
}

ํ๊ธฐ
๋ก์ง์์ฒด๊ฐ ์ด๋ ต์ง๋ ์์๋๋ฐ
check ๋ฐฐ์ด์ ์ด๊ธฐํํด์ฃผ๋ ๊ณผ์ ์์ 101๊น์ง ์ด๊ธฐํ๋ฅผ ํด์ผํ๋๋ฐ 100๊น์ง๋ง ์ด๊ธฐํ๋ฅผ ํด์คฌ์ด์์ด์ํ ๋ฐ๋ก๊ฐ ์๊ฒจ ๋ฒ๋ ค์
๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ ค๋ฒ๋ ธ๋ค.
'Algorithm > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2805๋ฒ - ๋๋ฌด ์๋ฅด๊ธฐ (C++) (1) | 2023.09.09 |
---|---|
[๋ฐฑ์ค] 17219๋ฒ - ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ (C++) (0) | 2023.09.08 |
[๋ฐฑ์ค] 9205๋ฒ - ๋งฅ์ฃผ ๋ง์๋ฉด์ ๊ฑธ์ด๊ฐ๊ธฐ (C++) (0) | 2023.09.06 |
[๋ฐฑ์ค] 21736๋ฒ - ํ๋ด๊ธฐ๋ ์น๊ตฌ๊ฐ ํ์ํด (C++) (0) | 2023.09.05 |
[๋ฐฑ์ค] 15904๋ฒ - UCPC๋ ๋ฌด์์ ์ฝ์์ผ๊น? (C++) (0) | 2023.09.05 |