BaekJoonOnlineJudge
[백준, BOJ 1034] 램프 (java)
https://www.acmicpc.net/problem/1034 1034번: 램프 첫째 줄에 N과 M이 주어진다. N은 행의 개수이고, M은 열의 개수이다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 램프의 상태가 주어진다. 1이 켜져있는 상태이고, 0이 꺼져 www.acmicpc.net 메모리: 14,228 KB , 시간: 128 ms 사용 알고리즘: 애드 혹, 브루트포스 알고리즘 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws ..
[백준, BOJ 1613] 역사 (java)
https://www.acmicpc.net/problem/1613 1613번: 역사 첫째 줄에 첫 줄에 사건의 개수 n(400 이하의 자연수)과 알고 있는 사건의 전후 관계의 개수 k(50,000 이하의 자연수)가 주어진다. 다음 k줄에는 전후 관계를 알고 있는 두 사건의 번호가 주어진다. www.acmicpc.net 메모리: 37,724 KB , 시간: 536 ms 사용 알고리즘: 플로이드-워셜, 그래프 이론, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) t..
[백준, BOJ 1507] 궁금한 민호 (java)
https://www.acmicpc.net/problem/1507 1507번: 궁금한 민호 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에 각각의 도시 사이에 이동하는데 필요한 시간이 주어진다. A에서 B로 가는 시간과 B에서 A로 가는 시간은 같다. 또, A와 B www.acmicpc.net 메모리: 14,352 KB , 시간: 124 ms 사용 알고리즘: 플로이드-워셜, 그래프 이론, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] ..
[백준, BOJ 10713] 기차 여행 (java)
https://www.acmicpc.net/problem/10713 10713번: 기차 여행 JOI나라에는 N개의 도시가 있고, 각 도시에 1,2,...,N까지의 번호를 갖고 있다. 그리고, 철도가 N-1개 있고, 각 철도에 1,2,...N-1의 번호를 갖고 있다. 철도 i (1 ≦ i ≦ N − 1)는 도시 i과 도시 i+1을 양방 www.acmicpc.net 메모리: 55,748 KB , 시간: 548 ms 사용 알고리즘: 누적 합 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] ..
[백준, BOJ 14621] 나만 안되는 연애 (java)
https://www.acmicpc.net/problem/14621 14621번: 나만 안되는 연애 입력의 첫째 줄에 학교의 수 N와 학교를 연결하는 도로의 개수 M이 주어진다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) 둘째 줄에 각 학교가 남초 대학교라면 M, 여초 대학교라면 W이 주어진다. 다음 M개의 www.acmicpc.net 메모리: 20,416 KB , 시간: 232 ms 사용 알고리즘: 그래프 이론, 최소 스패닝 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class M..
[백준, BOJ 1300] K번째 수 (java)
https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 메모리: 14,588 KB , 시간: 180 ms 사용 알고리즘: 이분 탐색, 매개 변수 탐색 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ BufferedRea..
[백준, BOJ 4933] 뉴턴의 사과 (java)
https://www.acmicpc.net/problem/4933 4933번: 뉴턴의 사과 각 테스트 케이스에 대해서, 두 트리가 동등하면 true를, 아니면 false를 출력한다. www.acmicpc.net 메모리: 14,284 KB , 시간: 128 ms 사용 알고리즘: 자료 구조, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static Map child1; static Map child2; public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedR..
[백준, BOJ 4803] 트리 (java)
https://www.acmicpc.net/problem/4803 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 메모리: 69,404 KB , 시간: 576 ms 사용 알고리즘: 자료 구조, 깊이 우선 탐색, 분리 집합, 그래프 이론, 그래프 탐색, 트리 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java..
[백준, BOJ 17085] 십자가 2개 놓기 (java)
https://www.acmicpc.net/problem/17085 17085번: 십자가 2개 놓기 첫째 줄에 격자판의 크기 N, M (2 ≤ N, M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에 격자판의 상태가 주어진다. 항상 두 개의 십자가를 놓을 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 메모리: 14,712 KB , 시간: 148 ms 사용 알고리즘: 브루트포스 알고리즘, 구현 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N, M; static char[][] board; public s..