문제 링크 : boj.kr/23085 난이도 : G4 태그 : BFS > n >> k; vector visit(n+1, -1); string s; cin >> s; int cnt = 0; for(auto u : s) { if(u == 'H') cnt++; } visit[cnt] = 0; queue _q; _q.push(cnt); while(!_q.empty()) { int h = _q.front(); _q.pop(); int t = n - h; for(int i = 0; i = i && h >= k-i) { if(visit[h + i*2-k] != -1) continue; visit[h + i*2-k] = visit[h]+1; _q.push(h + i*2-k); } } } cout