공부/알고리즘 8

7569 토마토

7569 토마토문제 : https://www.acmicpc.net/problem/7569풀이 : 2차원 배열 토마토 문제가 크게 다르진 않은 것 같습니다. 층에 관련된 부분을 3차원 배열로 표현해 bfs를 활용했습니다. 코드: https://github.com/cksgus/algorithm/blob/master/baekjoon/c%2B%2B/7569(%ED%86%A0%EB%A7%88%ED%86%A0).cpp xxxxxxxxxx#include#includeusing namespace std;​typedef struct tomatoDir {​ int h; int y; int x; int cnt;​public: tomatoDir() {} tomatoDir(int h, int y, int x,int cnt) :..

공부/알고리즘 2018.01.14

7576 토마토

7576 토마토문제 : https://www.acmicpc.net/problem/7576풀이 : bfs를 활용했습니다. 익은 토마토를 visit배열에 일차를 증가시켰습니다.코드 : https://github.com/cksgus/algorithm/blob/master/baekjoon/java/7576(%ED%86%A0%EB%A7%88%ED%86%A0).java import java.awt.*;import java.util.*;public class Main{ static int M,N; static int[][] tomato = new int[1001][1001]; static int[][] visit = new int[1001][1001]; static int[] dx = {0,0,1, -1}; stat..

공부/알고리즘 2018.01.14

14891 톱니바퀴

14891 톱니바퀴문제 : https://www.acmicpc.net/problem/14891 [출처 : 백준 홈페이지]풀이 : 톱니바퀴는 depue를 이용했습니다.시계 방향 - 맨 뒤 값을 빼서 맨 앞에 push반시계 방향 - 맨 앞 값을 빼서 맨 뒤에 push처음 이동하는 톱니를 queue 넣고 왼쪽, 오른쪽 톱니를 확인해주면서 맞닿은 극이 다를 경우 queue에 넣어줍니다. xxxxxxxxxx#include#include#include#includeusing namespace std;​typedef struct top { int no; int dir;public: top() {} top(int no, int dir) : no(no), dir(dir) {}};​​deque dq[4];queue q;b..

공부/알고리즘 2018.01.11

비트연산

비트 연산AB~AA&BA|BA^B001000011011100011110110※ 어떤 수가 홀수인지 판별하는 if(N % 2 == 1) 은 if (N & 1)로 줄일 수 있다.Notnot 연산의 경우에는 자료형에 따라 결과가 달라진다. unsigned나 signed에 따라 보여지는 값도 다르다.num = 64 2진수 01000000~ A = 10111111 8비트~ A = 11111111 11111111 11111111 10111111 32비트 자료형Shift left( 0 = 11 >> 1 = 010 >> 1 = 510 >> 2 = 210 >> 3 = 11024 >> 10 = 1

공부/알고리즘 2017.06.27