본문 바로가기

CS/Algorithm90

[BOJ][C++] 1012 유기농배추 [BOJ][C++] 1012 유기농배추 문제 https://www.acmicpc.net/problem/1012 풀이 DFS를 이용해서 풀었습니다. 배추가 있는 곳을 체크한 후 깊이 탐색을 합니다. 깊이탐색을 시작할 때 한 번 카운팅을 해준 후 인접한 곳의 배추들은 카운팅을 하지 않고 visited를 바꿔줍니다. visited가 1인 곳은 다시 방문하지 않고 다시 메인함수로 와서 방문하지 않은 다른 배추 위치를 찾습니다. 이를 반복하면 수월하게 풀 수 있습니다. 코드 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; int M, N, K; int map[50][50]; int visited[50][50]; int dx[] = { 1,-1,0,0 .. 2019. 1. 12.
[BOJ][C++] 2309 일곱 난쟁이 [BOJ][C++] 2309 일곱 난쟁이 문제 https://www.acmicpc.net/problem/2309 풀이 입력받는 값과 출력해야하는 값의 갯수가 정해져 있어서 꽤 수월하게 풀 수 있었습니다. 값을 입력받으면서 total값을 구합니다. 그리고 100을 뺀 나머지 값과 같아지는 A와 B를 뽑아냅니다. 이 값을 제외한 나머지 값을 출력합니다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int main() { int height[9]; for (int i = 0; i < 9; i++) { scanf("%d", &height[i]); } sort(height, height + 9); int total = 0; f.. 2019. 1. 12.
[BOJ][C++] 14502 연구소 [BOJ][C++] 14502 연구소 문제 https://www.acmicpc.net/problem/14502 풀이 빈 칸마다 3개의 벽을 다 세워보고 바이러스를 퍼뜨려보는 식으로 문제를 풀었습니다. 브루트포스 방식으로 풀어서 시간 초과가 날 줄 알았는데 안나더라구요. 과거에 java로 풀어본 적이 있긴 한데 그 때는 참고를 해서 풀었다면 이번에는 제 힘으로 풀어서 더 뿌듯하고 좋았습니다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int N, M; int map[8][8]; int map_copy[8][8]; int dx[4] = { 1,-1,0,0 }; int dy[4] = { 0,0,1,-1 }.. 2019. 1. 12.
[SWEA][C++] 4013 특이한 자석 [SWEA][C++] 4013 특이한 자석 문제 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeV9sKkcoDFAVH&categoryId=AWIeV9sKkcoDFAVH&categoryType=CODE 풀이 회전 시작 톱니에서 다른 톱니들과 맞물리는 점들을 확인했습니다. 그리고 조건에 충족하여 움직여야 한다면 rotation함수로 넘어가도록 설계했어요. 톱니가 움직인 뒤에 다른 톱니를 고려하면 안되기 때문에 톱니를 실제 움직이는 것은 마지막에 했습니다. 다음에는 cstdio를 이용해서 출력을 해봐야겠어요! 시간 단축하는 법을 스를 익혀야할 것 같아요. 코드 #include #include using n.. 2018. 12. 27.