https://www.acmicpc.net/problem/1238문제 요약N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있습니다.어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비합니다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 합니다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원합니다. 이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구해야합니다.문제 풀이이 문제는 가는거리와 오는거리가 ..
https://www.acmicpc.net/problem/2230문제 요약N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있습니다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있습니다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성해야합니다.예를 들어 수열이 {1, 2, 3, 4, 5}라고 하자. 만약 M = 3일 경우, 1 4, 1 5, 2 5를 골랐을 때 그 차이가 M 이상이 됩니다. 이 중에서 차이가 가장 작은 경우는 1 4나 2 5를 골랐을 때의 3이 됩니다. 1 ≤ N ≤ 100,0000 ≤ M ≤ 2,000,000,0000 ≤ |A[i]| ≤ 1,000,000,000문제 풀이1. 입력 범위를 보면 int를 아득히 넘기 때문에 long long in..
https://www.acmicpc.net/problem/2638문제 요약 N×M의 모눈종이 위에 아주 얇은 치즈가 과 같이 표시되어 있습니다. 단, N 은 세로 격자의 수이고, M 은 가로 격자의 수 입니다. 이 치즈는 냉동 보관을 해야만 하는데 실내온도에 내어놓으면 공기와 접촉하여 천천히 녹습니다. 그런데 이러한 모눈종이 모양의 치즈에서 각 치즈 격자(작 은 정사각형 모양)의 4변 중에서 적어도 2변 이상이 실내온도의 공기와 접촉한 것은 정확히 한시간만에 녹아 없어져 버립니다. 따라서 아래 모양과 같은 치즈(회색으로 표시된 부분)라면 C로 표시된 모든 치즈 격자는 한 시간 후에 사라집니다. 와 같이 치즈 내부에 있는 공간은 치즈 외부 공기와 접촉하지 않는 것으로 가정합니다. 그러므 로 이 공간..
참고 영상https://www.youtube.com/watch?v=6GP_8SkQXy8 던전 생성 액터에 문 설치 추가문이 설치되는 로직은 방이 연결 되었을 때 사용된 Arrow 컴포넌트를 Door_List에 저장합니다. ( 방끼리 연결되 통로에 문을 설치하기 위함 ) 문 액터들을 담을 배열과Arrow 컴포넌트를 받을 배열을 만듭니다. Arrow 컴포넌트를 받는 로직 방 설치하는데 사용한 Arrow 컴포넌트를 배열에 저장해둡니다. 문 소환 로직모든 방 설치가 끝났으면 호출됩니다.Door_List 배열의 모든 Arrow컴포넌트의 트랜스폼을 받아와서 stream 랜덤으로 저장되있는 DoorActor 배열의 액터를 가져와 생성합니다. 머테리얼 제작문에 사용될 머테리얼 입니다.기본 머테리얼 입니다. 이 기본 ..
아이템을 둘 위치 생성 아이템을 둘 위치를 Arrow 컴포넌트로 만들건데 그것들을 모아줄 Floor Spawn Point 씬 컴포넌트를 기본 방에서 새로 만듭니다. ( 자식 클래스들에서 상속 받아 사용 할 것 이기 때문 ) 모든 자식 클래스들에서 Arrow컴포넌트를 새로 만들어줍니다. ( 이 부분은 추후에 PCG 플러그인으로 아이템을 랜덤으로 배치할 수 있게 바꿔볼까 고민 중입니다. ) Arrow 컴포넌트들을 담을 배열과 임시로 설치해볼 액터의 설치개수 변수를 만듭니다. Add Floor Spawn Point To List이 커스텀 이벤트는 현재 설치한 방의 아이템 설치할 위치 ( Arrow 컴포넌트들 )를 배열에 저장해줍니다. 방을 설치하고 중복이 아닐때 호출해줍니다. 아이템 액터 만들기임시로 배..
참고 영상https://www.youtube.com/watch?v=lNwn2yq6qXg 시드를 통해 랜덤 관리하기무조건 랜덤이 아닌 시드를 입력받아 고정된 던전을 만들수 있는 기능을 추가할려합니다.우선 변수 2개가 필요합니다. Seed 변수는 입력받는 시드 넘버 입니다. Stream 은 시드를 통해 만들어진 랜덤 스트림입니다. ( 사실 잘 모릅니다. ) Set Seed1. 입력 받은 Seed가 -1일 경우에는 Stream을 랜덤으로 만듭니다.2. -1이 아닐경우엔 Seed 기반으로 랜덤 Stream을 만듭니다. 그 후에 기존에 Random Item으로 사용하던 노드들을 Stream기반 랜덤 노드로 변경하고 Stream을연결해 줍니다. 계단 추가 하기만들어둔 로직은 Arrow 컴포넌트가 방의 출구에 붙어있..