diff --git "a/khj20006/202508/23 BOJ G5 \352\267\270\353\236\230\355\224\204 \355\203\220\354\203\211.md" "b/khj20006/202508/23 BOJ G5 \352\267\270\353\236\230\355\224\204 \355\203\220\354\203\211.md" new file mode 100644 index 00000000..cacc928c --- /dev/null +++ "b/khj20006/202508/23 BOJ G5 \352\267\270\353\236\230\355\224\204 \355\203\220\354\203\211.md" @@ -0,0 +1,39 @@ +```cpp +#include +using namespace std; + +int main() { + cin.tie(0)->sync_with_stdio(0); + int N,M; + cin>>N>>M; + bool v[501][501]{}; + for(int i=0,a,b;i>a>>b; + v[a][b] = v[b][a] = 1; + } + int Q; + for(cin>>Q;Q--;) { + int a,b,c; + cin>>a>>b>>c; + int d = a&1; + v[b][c] = v[c][b] = d; + + int ans[501]{}; + for(int i=1;i<=N;i++) ans[i] = -1; + queue> q; + q.emplace(1,0); + bitset<501> vis; + vis[1] = 1; + while(!q.empty()) { + auto [n,t] = q.front(); q.pop(); + ans[n] = t; + for(int i=1;i<=N;i++) if(v[n][i] && !vis[i]) { + vis[i] = 1; + q.emplace(i,t+1); + } + } + for(int i=1;i<=N;i++) cout<