본문 바로가기

백준 알고리즘/구현85

파이프 옮기기 1 C++ https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net #include #include #include using namespace std; const int MAX = 20; int answer = 0; int n; int map[MAX][MAX]; vector pipe; //int shape = 0; //0:가로, 1:세로, 2:대각선 struct MOVE { int x, y; }; MOVE mv[3] = { {0,1}, .. 2021. 10. 13.
어른 상어 C++ https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net #include #include #include using namespace std; const int MAX = 25; int map[MAX][MAX]; pair info[MAX][MAX]; //상어 번호(없으면 -1), 냄새 시간 int n, m, k; struct MOVE { int x, y; }; MOVE mv[4] = { {-1,0}, {1,0.. 2021. 10. 13.
컨베이어 벨트 위의 로봇 https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net #include #include using namespace std; int n, k; pair robot[250]; //exist, value bool FindZero() { int count = 0; for (int i = 0; i = k) { return fal.. 2021. 10. 12.
마법사 상어와 파이어볼 C++ #include #include using namespace std; const int MAX = 55; int n, m, k; struct shark { int m, s, d; }; vector map[MAX][MAX]; struct MOVE { int x, y; }; MOVE mv[8] = { {-1,0}, {-1,1}, {0,1}, {1,1}, {1,0}, {1,-1}, {0,-1}, {-1,-1} }; void MoveFire() { vector tmp[MAX][MAX]; for (int i = 1; i n)movei -= n; while (movei n)movej -= n; while (movej m >> k; for (int i = 0; i < m; i++) { int r, c, m, s, d.. 2021. 9. 30.