https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net import java.io.*; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static ArrayList list = new ArrayList(); // 인접리스트 static int[] color; ..
https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { static int N; static int[][] dp; // 0: 안마심 / 1: 1연속 마심 / 2: 2연속 마심 static int[] wine; public static void print() { for(int i = 0; i < N; i++) { System.ou..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; static int[][] board; static int[][] dp; public static int func() { dp[1][0] = board[1][0]; dp[2][0] = board[2][0]; for(int i = 1; i < N; i++) { dp[0][i] = Math.max(dp[1][i - 1], dp[2][i - 1]); // 현재 라인에서 스티커를 안떼는 경우 dp[1][i] = Math.max(..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static int N; static int[][] board; static long[][] visited; public static void print() { System.out.println("------"); for(int j = 0; j < N; j++) { System.out.println(Arrays.toString(visited[j])); } } public static void func(..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main{ static int N, K; static int[] board = new int[200001]; static boolean[] visited = new boolean[200001]; /* ..
https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int S; static boolean[][] visited = new boolean[2001][2001]; // [화면][클립보드] public static class Node { int screen; // 화..
import java.io.*; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class P4963 { public static class Node { int y, x; Node(int y, int x) { this.y = y; this.x = x; } } static int N, M; static int[][] board; static boolean[][] visited; static int[] dx = {1, 0, -1, 0, 1, 1, -1, -1}; // 8방향 모두 체크! static int[] dy = {0, 1, 0, -1, -..
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net import java.io.*; import java.util.StringTokenizer; public class P14500 { static class Shape { // 폴리노미오 모양을 저장할 클래스 int x, y; int[][] shape; Shape(int[][] arr) { this.shape = arr; this.y = arr.length; this.x = arr[0].length..