삐까냥의 파도타기
https://www.acmicpc.net/problem/15686 음..음.. 다듬지 않은 코드 import java.util.ArrayList;import java.util.Scanner; public class Q15686 {static int[][] map;static int mapSize, chickenNum, result = -1;static boolean[] isVisit;static ArrayList chickenList = new ArrayList();public static void main(String[] args) {Scanner sc = new Scanner(System.in);mapSize = sc.nextInt();chickenNum = sc.nextInt();map = new..
https://www.acmicpc.net/problem/15685 어렵다고 느껴졌네요. 특히 90도 회전하는 부분이요. 정답률 54%라는게 안믿겨질정도로... 공간 효율성 때문에 스택으로 처리하면 되겠지만, 배열을 사용한 시험용 코드이기 때문에 비효율적입니다. 2018년 5월 23일 - 다듬지 않은 코드 import java.util.Scanner; public class Q15685 {static int size = 101;static boolean[][] resultMap = new boolean[size][size];static int finalGeneration;public static void main(String[] args) {Scanner sc = new Scanner(System.in)..
문제 출처 : https://www.acmicpc.net/problem/15684 음.... 맨 첨에는 DP문제로 생각해서 예제를 통해서 규칙을 찾아봤어요. 규칙이 있긴 한데, 이를 구현하기는 어렵다 생각해서 DFS 방식으로 풀었어요. 어느정도 제한 조건이 있어서, 시간 초과에는 걸리지 않았네요. 사다리 삽입 가능한 부분과 삽입한 부분, 삽입 불가능한 부분을 구분하는 것이 핵심인것 같네요. 삽입 불가능한 부분 덕분에 더 효율적으로 코드를 구현할 수 있었어요. 삽입 불가능한 부분은 사다리가 놓여져있는 공간의 좌우 공간입니다. 사다리를 추가할 때마다 좌우에 추가하지 못하게끔 세팅해야해요. 그리고 i번째의 결과가 i번인지 확인하는 작업은 사다리 개수가 짝수개일때만 해야합니다. DP방식으로 풀기위해 규칙을 찾아..