본문 바로가기

C++

(226)
[BOJ] 17090번 미로 탈출하기 (C++) https://www.acmicpc.net/problem/17090 17090번: 미로 탈출하기 크기가 N×M인 미로가 있고, 미로는 크기가 1×1인 칸으로 나누어져 있다. 미로의 각 칸에는 문자가 하나 적혀있는데, 적혀있는 문자에 따라서 다른 칸으로 이동할 수 있다. 어떤 칸(r, c)에 적힌 문 www.acmicpc.net #include using namespace std; int n, m; char map[500][500]; int dp[500][500]; int answer; int dfs(int x, int y) { if (x = n || y = m) return 1; if (dp[x][y] != -1) return dp[x][y]; dp[x][y] = 0;..
[BOJ] 1520번 내리막길 (C++) https://www.acmicpc.net/problem/1520 1520번: 내리막 길 첫째 줄에는 지도의 세로의 크기 M과 가로의 크기 N이 빈칸을 사이에 두고 주어진다. 이어 다음 M개 줄에 걸쳐 한 줄에 N개씩 위에서부터 차례로 각 지점의 높이가 빈 칸을 사이에 두고 주어진다. www.acmicpc.net #include using namespace std; int m, n; int map[500][500]; int dp[500][500]; int dx[4] = { -1, 0, 0, 1 }; int dy[4] = { 0, -1, 1, 0 }; int dfs(int x, int y) { if (x == m - 1 && y == n - 1) return 1; if (dp[x][y] != -1) ret..
[BOJ] 21278번 호석이 두 마리 치킨 (C++) https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net #include #include #include #define INF 987654321 using namespace std; int n, m; int dist[101][101]; int building1, building2; int minsum = 987654321; int main() { ios::sync_with_stdio(false); cin.tie(NULL);..
[BOJ] 7490번 0 만들기 (C++) https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net #include #include #include using namespace std; int n; bool isZero(string s){ vector num; vector op; string tmp; for(int i = 0; i < s.length(); i++){ if(s[i] == '+' || s[i] == '-'){ num.push_back(stoi(tmp)); op.push_back(s[i]); tmp = ""; } else if(s[i] ..
[BOJ] 19942번 다이어트 (C++) https://www.acmicpc.net/problem/19942 19942번: 다이어트 식재료 N개 중에서 몇 개를 선택해서 이들의 영양분(단백질, 탄수화물, 지방, 비타민)이 일정 이상이 되어야 한다. 아래 표에 제시된 6가지의 식재료 중에서 몇 개를 선택해서 이들의 영양분의 각 www.acmicpc.net #include #include using namespace std; struct Ingredient{ int p, f, s, v, c; }; int n, mp, mf, ms, mv; vector v; vector tmp; vector ans; int answer = 987654321; void dfs(int idx, int sp, int sf, int ss, int sv, int sc){ if..
[CodeTree] 나무박멸 (C++) [삼성 SW 역량테스트 기출] https://www.codetree.ai/training-field/frequent-problems/problems/tree-kill-all 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai #include using namespace std; int n, m, k, c, answer; int map[20][20]; int dx1[4] = {0, 0, -1, 1}; int dy1[4] = {-1, 1, 0, 0}; int dx2[4] = {-1, -1, 1, 1}; int dy2[4] = {-1, 1, -1, 1}; void Growth(){ for(..
[CodeTree] 바이러스 백신 (C++) [삼성 SW 역량테스트 기출] https://www.codetree.ai/training-field/frequent-problems/problems/vaccine-for-virus 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai #include #include #include #include #include using namespace std; int n, m, answer = 987654321; int map[50][50]; int tmp[50][50]; int visited[50][50]; vector hospital; vector picked; bool isUsed[10]; ..
[CodeTree] 방화벽 설치하기 (C++) [삼성 SW 역량테스트 기출] https://www.codetree.ai/training-field/frequent-problems/problems/firewall-installation 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai #include #include #include #include using namespace std; int n, m, answer; int map[8][8]; int tmp[8][8]; bool isUsed[64]; int dx[4] = {-1, 0, 0, 1}; int dy[4] = {0, -1, 1, 0}; vector blank; vector..