반응형

Programming/Baekjoon 117

백준 1463 1로만들기 [c++]

#include #include #include #include using namespace std; int n; void bfs(int x) { queueq; q.push({x,0}); while (!q.empty()) { int a = q.front().first;//현재값 저장 int c = q.front().second;//연산회수를 저장 q.pop(); if (a == 1)//1이되면 결과출력 및 종료 { cout 1000000)continue;//범위를 벗어나면 continue if (a % 3 == 0)//3으로 나누는 경우 q.push({ a/3,c + 1 }); if (a % 2 == 0)//2로 나누는 경우 q.push({ a / 2,c + 1 }); if (a > 1)//-1을 하는 ..

백준 9095 1,2,3더하기 [c++]

#include #include #include #include #include #include using namespace std; int t, n; vectorresult;//결과를 저장할 vector int arr[3] = { 1,2,3 };//1,2,3을 더할때 사용될 배열 int num;//각케이스별 방법의 수를 저장할 변수 int dfs(int a, int r) { num = 0;//방법의수 초기화 stacks;//stack 선언 s.push(a); while (!s.empty()) { int x = s.top();//stack의 top 값 저장 s.pop();//저장한값 삭제 if (x == r)//x가 입력받은 숫자일 경우 방법의수 증가 { num++; } for (int i = 0; i ..

백준 1697 숨바꼭질 [c++]

#include #include #include #include #include using namespace std; #define MAX 100001 int n, k; int map[MAX]; bool visited[MAX]; void bfs(int a) { queueq;//queue선언 q.push(make_pair(a, 0));//매개변수 및 시간을 push visited[a] = true;//방문표시 while (!q.empty()) { int x = q.front().first;//queue의 front 값 저장 int cnt = q.front().second; q.pop();//삭제 visited[x] = true;//방문표시 if (map[x] == 1)//map의 해당 인덱스의 값이 1이라..

백준 14226 이모티콘 [c++]

#include #include #include #include #include using namespace std; int s; bool visited[1001][1001];//방문을표시할 배열 typedef struct { int n;//화면에 존재하는 이모티콘 수 int c;//클립보드의 이모티콘 수 int t;//연산시간 }emt;//queue에 사용될 구조체 void bfs()//bfs함수 { queueq;//queue 선언 q.push({ 1,0,0 });//이미화면에 1이 입력되어있기에 1,0,0을 push visited[1][0] = true;//방문표시 while (!q.empty()) { int x = q.front().n;//queue의 front 값 저장 int y = q.front..

백준 17086 아기상어2 [c++]

#include #include #include #include #include using namespace std; int n, m;//세로, 가로 int map[51][51];//상어 위치를 저장할 배열 bool visited[51][51];//방문여부를 저장할 배열 int num, result; int xarr[8] = { 1,0,-1,0,1,-1,1,-1 };//대각선포함하여 8방향을 탐색하기위한 배열 int yarr[8] = { 0,1,0,-1,1,-1,-1,1 }; typedef struct { int x; int y; int c; }node;//queue에 사용할 구조체 int bfs(int a, int b)//bfs함수 { fill(&visited[0][0], &visited[50][51]..

반응형