목록2024/02/22 (4)
Machineboy空
https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 문제요약 최단거리가 가장 먼 육지의 두 곳에 보물심기 난이도 Gold 5 풀이 포인트 BFS를 실행하면, 한 칸씩 움직일 때마다 최단거리가 갱신됨 즉, 도착 지점 과 출발지점 쌍이 계속 나오기 때문에 2쌍을 뽑아서 돌릴 필요가 없다. BFS void bfs(int y, int x) { memset(visited, 0, sizeof(visited)); visited[y][x] = 1; queue q;..
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 문제요약 트리 구조에서 한 노드를 지웠을 때 리프노드의 개수를 구하라. 난이도 Gold 5 //내 코드 #include using namespace std; int n, a[52], k, ret; vector adj[52]; bool b[52]; void cut(int node) { b[node] = false; for (int s : adj[node]) { cut(s); } } int ma..
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제요약 가장 효율적인 치킨 집의 개수와, 치킨 집까지의 최소 거리의 합 난이도 Gold 5 풀이 포인트 조합 void combi(int start, vector v) { if (v.size() == m) { chickenList.push_back(v); return; } for (int i = start + 1; i < chicken.size(); i++) { v.push..
1.1.1 Hashing Introduction this algorithm's often computer science's favorite algorithm, because you're going to find the results of hashing, it's going to give us a fantastic run time for certain operations. Mathematically, we define hashing as a keyspace(table) that we want to transform into a number of different values. So, everything inside of our keyspace is going to be every possible key t..