본문 바로가기

알고리즘73

백준 16236번 : 아기 상어 문제 링크 : www.acmicpc.net/problem/16236 풀이에 참고한 링크 : www.acmicpc.net/board/view/35923 내 풀이(2021.1.29.) : #include #include using namespace std; typedef pair int_pair; int map[20][20]; int visit[20][20]; int N; int dy[] = { -1,0,1,0 }; int dx[] = { 0,-1,0,1 }; int total_time = 0; int cy, cx; struct comp { bool operator()(int_pair& a, int_pair& b) { if (a.first == b.first) return a.second > b.second.. 2021. 1. 29.
백준 15686번 : 치킨 배달 문제 링크 : www.acmicpc.net/problem/15686 내 풀이1(2021.1.28.) : BFS, 조합 #include #include #include #include #include using namespace std; typedef pair int_pair; vector list; vector index; int map[51][51]; int visit[51][51]; int N, M; int cnt = 0; int mi = INT_MAX; void initialize_visit() { for (int i = 1; i 2021. 1. 28.
STL을 이용한 조합과 순열 코드 #include #include #include using namespace std; void combination(vector& list, int n, int r) { vector selection; for (int i = 0; i < r; i++) selection.push_back(1); for (int i = 0; i < n - r; i++) selection.push_back(0); do { for (int i = 0; i < list.size(); i++) { if (selection[i] == 1) cout 2021. 1. 28.
백준 11403번 : 경로 찾기 문제 링크 : www.acmicpc.net/problem/11403 내 풀이(2021.1.27.) : #include #include #include #include using namespace std; #define MAX_V 100 // 노드 개수의 최대값 int V; // V : 노드의 개수 vector VV_info(MAX_V + 1, vector(MAX_V + 1, INT_MAX)); // 모든 노드에서 모든 노드까지의 최단 거리 void floyd_warshall() { // 플로이드 워셜 // 점화식 수행 for (int k = 1; k 2021. 1. 27.