-
[BOJ] 14226 :: 이모티콘알고리즘/BOJ(C++) 2018. 7. 3. 15:22반응형
https://www.acmicpc.net/problem/14226
pair를 한 정접으로 하는 그래프를 생각하고, bfs탐색을 진행합니다.
pair의 first원소는 현재 화면에 있는 이모티콘의 개수이고 second원소는 클립보드에 있는 이모티콘의 개수입니다.
index관련 예외처리만 잘해주면 됩니다!
요즘 런탐에러 너무많이나네요ㅠ 실수안해야지..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include <iostream>#include <queue>using namespace std;int s;bool check[1003][2003];int dist[1003][2003];int main(){cin >> s;queue<pair<int, int> > q;q.push(make_pair(1, 0));check[1][0] = true;dist[1][0] = 0;int cnt = 0;bool flag = false;while (!q.empty()){int x = q.front().first;int y = q.front().second;q.pop();if (x == s){cout << dist[x][y] << endl;flag = true;break;}if (check[x][x] == false){q.push(make_pair(x, x));check[x][x] = true;dist[x][x] = dist[x][y] + 1;}if (y != 0 && (x+y <= s) && check[x + y][y] == false){q.push(make_pair(x + y, y));check[x + y][y] = true;;dist[x + y][y] = dist[x][y] + 1;}if (x >= 1 && check[x - 1][y] == false){q.push(make_pair(x - 1, y));check[x - 1][y] = true;dist[x - 1][y] = dist[x][y] + 1;}}}cs 반응형'알고리즘 > BOJ(C++)' 카테고리의 다른 글
[백준] 3055 :: 탈출 (0) 2019.08.01 [BOJ] 1202 :: 보석 도둑 (0) 2018.07.24 [BOJ] 9019 :: DSLR (0) 2018.07.02 [BOJ] 1377 :: 버블 소트 (0) 2018.07.01 [BOJ] 4963 :: 섬의 개수 (0) 2018.06.20