백준31 [boj] 2056 - 작업 C++ 풀이(DAG, BFS) www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 작업의 선행관계가 주어졌을 때, 모두 마치는 가장 빠른 시간을 구하는 문제이다. 전형적인 DAG문제이고, 위상정렬 로직을 bfs로 구현해서 모든 노드를 순서대로 순회했을 때의 최종 시간을 구하면 된다. #include #include #include #include using namespace std; int n; vector graph[10001]; vector ind(10001); // indegr.. 2021. 3. 28. [boj]20366 - 같이 눈사람 만들래? 풀이(투포인터, 정렬) www.acmicpc.net/problem/20366 20366번: 같이 눈사람 만들래? 높이가 (2, 5), (3, 5)로 구성된 눈사람 둘을 만드는 것이 최적의 경우 중 하나이다. |7-8| = 1 다른 경우로는 (2, 9), (5, 5)로 두 눈사람을 만드는 경우가 있다. |11-10| = 1 www.acmicpc.net - 문제 유형 분류가 투포인터로 되어 있는데 눈사람을 만드는 모든 케이스를 만든 뒤 정렬하면서 중복되는지 여부만 체크해도 충분히 풀리는 문제였다. 투포인터로 된 스터디원 풀이도 봤는데 잘 이해가 가지 않았다. - sort에 쓸 compare 함수를 짤 때 등호가 들어간 부등호를 쓰면 채점 시에 시간초과가 난다. 주의하자 - 구조체 생성자를 따로 작성 안해도 눈사람 배열에 {원소1,.. 2021. 3. 25. [BOJ] 2178번 미로 탐색 java 풀이 https://www.acmicpc.net/problem/2178 package acmicpc; import java.io.*; import java.util.LinkedList; import java.util.Queue; class Pos { int x, y; Pos(int x, int y) { this.x = x; this.y = y; } } public class BJ_2178 { static int[] dx = {1, -1, 0, 0}; static int[] dy = {0, 0, 1, -1}; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStream.. 2020. 11. 16. [BOJ] 7576번 토마토 java 풀이 https://www.acmicpc.net/problem/7576 package acmicpc.BJ_7576; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; class Pos{ int x, y; Pos(int x, int y) { this.x = x; this.y = y; } } public class BJ_7576 { static int[] dx = {1, -1, 0, 0}; static int[] dy = {0, 0, 1, -1}; public static void main(String[].. 2020. 11. 16. 이전 1 ··· 4 5 6 7 8 다음