
문제 링크입니다 : www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net bfs 구현 문제였다. 난이도는 매우 쉬움 #include #include #include #define INF 987654321 using namespace std; int N, M; vector adj; vector visited; int dfs(int start) { queue q; q.push(start); visited[start] =..

문제 링크입니다 : www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 브루트 포스 문제였다. 채널이 500,000이므로 브루트 포스를 돌려도 충분히 시간 안에 해결이 가능한 문제라서 브루트 포스로 풀었다. #include #include #include #include #include #define START 100 using namespace std; int main() { int N, M; cin >> N >> M; vector isDisa..

문제 링크입니다 : www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 구현문제 #include #include #define CLEAN 2 using namespace std; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; int N, M; vector board; int main() { cin >> N >> M; board.assign(N, vector(M)); int y, x, dir..

문제 링크입니다 : www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 완전 탐색 15!이여도 시간안에 충분히 가능! #include #include using namespace std; int N; vector time; vector money; vector visited; int maxMoney = 0; void dfs(int index) { if(index >= N) { int sum = 0; for(int i = 0; i = 0) { sum += money[i]; } } if(sum > maxMoney) { m..

문제 링크입니다 : www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net 데이터는 논리에서 분리한다! 코드는 설계하는 원칙 중 하나이다. 그래서 노가다를 했다! #include #include using namespace std; vector tetromino = { { {1, 1, 1, 1} }, { {1}, {1}, {1}, {1} }, { {1, 1}, {1, 1} }, { {1, 1, 1}, {1, 0, 0} }, { {1, 1}, {0, 1}, {0, ..

문제 링크입니다 : www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 문제 설명 진짜 그지같은 문제이다. 입력에서 x y로 들어온다고 하는데, 위의 내용을 일어보면 (r, c)로 들어오기 때문에 우리가 평상시 알고잇는 세로가 x가 되고 가로가 y가 된다. #include #include using namespace std; const int dy[4] = {0, 0, -1, 1}; const i..

문제 링크입니다 : www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 함정이 조금 있었다.. 주의하자 항상 #include #include using namespace std; typedef long long ll; int main() { ll N, sum = 0; cin >> N; vector arr(N); for(int i = 0; i > arr[i]; } ll B, C..

문제 링크입니다 : www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 역시 구현 문제 난이도는 중상정도 #include #include #define SNAKE 1 #define APPLE 9 using namespace std; const int dy[4] = {0, 1, 0, -1}; const int dx[4] = {1, 0, -1, 0}; int N; vector board; struct State { int hy; int hx; int ty; int tx; ..