[d2 campus] 2016 한양대학교 프로그래밍 경시대회 문제풀이
TRANSCRIPT
![Page 1: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/1.jpg)
제 3회 한양대학교프로그래밍 경시대회
문제 해설 및 풀이
![Page 2: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/2.jpg)
Beginner Division
![Page 3: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/3.jpg)
K. We Are In Hanyang University
출제자 : 권기택
최초 정답 팀 : Lucky
![Page 4: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/4.jpg)
K. We Are In Hanyang University
“HANYANG”
출력
![Page 5: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/5.jpg)
D. 데이트하기 좋은 날씨
출제자 : 이현지
최초 정답 팀 : worldbestbeautymisspyun
![Page 6: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/6.jpg)
D. 데이트하기 좋은 날씨
7개의 숫자를 비교하여
숫자가 가장 작은 요일에
해당하는 문자열 출력
![Page 7: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/7.jpg)
A. 불량품 걸러내기
출제자 : 이경준
최초 정답 팀 : jonjalkyungho
![Page 8: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/8.jpg)
A. 불량품 걸러내기
Hanyang
anyangH
nyangHa
yangHan 7개이외의 로고 인덱스 값
angHany 을출력
ngHanya
gHanyan
![Page 9: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/9.jpg)
J. 테러를 막아라
출제자 : 이윤성
최초 정답 팀 : Lucky
![Page 10: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/10.jpg)
J. 테러를 막아라
간단한 경우의 수 문제입니다.
Ai * Bi 들의 합을 출력하면 됩니다.
![Page 11: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/11.jpg)
B. 최고의 치료사
출제자 : 서병기
최초 정답 팀 : LPL
![Page 12: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/12.jpg)
B. 최고의 치료사
(0,0) 부터 (N,N)까지
이중 for문으로 탐색하면서
제일 좋은 위치를 찾아낸다
![Page 13: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/13.jpg)
L. K번째 큰 수 찾기
출제자 : 최기원
최초 정답 팀 : MyDrillDiggingTheSky
![Page 14: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/14.jpg)
L. K번째 큰 수 찾기
수열을 큰 순서대로 정렬한 뒤, K번째 숫자를출력하면 됩니다.
정렬 과정에서
삽입정렬, 버블 소트 등을 이용하면 O(N^2)의시간복잡도로 해결가능하고
머지 소트, 힙 소트 등을 이용하면 O(NlogN)의훨씬 빠른 시간 복잡도로 해결할 수 있습니다.
이 외에도 다양하게 해결할 수 있습니다.
![Page 15: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/15.jpg)
E. 결혼식
출제자 : 오현석
최초 정답 팀 : MyDrillDiggingTheSky
![Page 16: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/16.jpg)
E. 결혼식
입력 N과 K의 값이 매우 작기 때문에
배열이나 리스트 자료구조를 사용해
해당 과정을 그대로 구현하면 됨.
![Page 17: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/17.jpg)
C. 전설의 포켓몬
출제자 : 이현지
최초 정답 팀 : ???
![Page 18: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/18.jpg)
C. 전설의 포켓몬
𝑥𝑑 와 𝑦𝑑의 값은 서로에게 영향을 미치지 않으므로𝑥𝑑 에 대한 기댓값 + 𝑦𝑑에 대한 기댓값 = 기댓값
기댓값은 적분을 통해서 구할 수 있음
0)𝑚3𝑥𝑑
2) / 𝑚 0) +𝑛6𝑦𝑑
2 ) / 𝑛
![Page 19: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/19.jpg)
C. 전설의 포켓몬
계산하면 항상 정수
각각의 a, b에 대해
적분값을 구해 최솟값 출력
0)𝑚3𝑥𝑑
2) / 𝑚 0) +𝑛6𝑦𝑑
2 ) / 𝑛
![Page 20: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/20.jpg)
G. 정 원이와 정원이
출제자 : 이윤성
최초 정답 팀 : ???
![Page 21: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/21.jpg)
G. 정 원이와 정원이
a, b의 2이상 5이하의 서로 다른 두 수 이므로6가지 경우밖에 나오지 않습니다.
각각 6가지 경우에 대한규칙들을 찾으시면 됩니다.
![Page 22: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/22.jpg)
G. 정 원이와 정원이
구슬이 N개일 경우누가 이기는 지를 점화식으로 나타내자면,
f(N) = f(N-1) || f(N-a) || f(N-b)
입니다.
![Page 23: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/23.jpg)
G. 정 원이와 정원이
Jung이라 출력해야할 경우를 J,Won이라 출력해야할 경우를 W라 한다.
i) a=2, b=3 인 경우WWWJ / WWWJ / WWWJ / WWWJ…..
ii) a=3, b=4 인 경우WJWWWWJ / WJWWWWJ….
![Page 24: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/24.jpg)
Beginner / Advanced
![Page 25: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/25.jpg)
BEG-I / ADV-J. 자석 꽂아넣기
출제자 : 현은률
최초 정답 팀 : MyDrillDiggingTheSky
TrumpEmperorOfWorld
![Page 26: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/26.jpg)
BEG-I / ADV-J. 자석 꽂아넣기
백트래킹 처럼 보인다.
실제 : 시간 초과
![Page 27: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/27.jpg)
BEG-I / ADV-J. 자석 꽂아넣기
N =1일때 부터 시도하면
F(N) = F(N-1) + 2(N/2) 임을 알 수 있다.
(짝수일 때 N, 홀수일 때 N+1)
![Page 28: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/28.jpg)
BEG-H / ADV-H. HY 수열
출제자 : NC소프트
최초 정답 팀 : 2ge ChoiSun UU
Etach Jo
![Page 29: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/29.jpg)
BEG-H / ADV-H. HY 수열
H수열 -> 페리 수열
* 페리 수열의 특징
i번째 항은
i-1번째 항과 i+1번 항을
바보셈한 결과와 같다
![Page 30: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/30.jpg)
1
4
1
3
1
2
2
3
3
4
1
1
1
3
1
2
2
3
3
4
BEG-H / ADV-H. HY 수열
항상 첫 항과 마지막 항의 합이 답!첫 항은 항상 1/N, 마지막 항은 1/1이므로
답은 N+1 N을 출력
![Page 31: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/31.jpg)
BEG-F / ADV-I. 보고서 검사
출제자 : 정채홍
최초 정답 팀 : MyDrillDiggingTheSky
llllllll
![Page 32: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/32.jpg)
BEG-F / ADV-I. 보고서 검사
각 문자들의 카운팅을 위한 배열을 만들어도 되고, STL map을 사용하여 카운팅 후 iterator로출력해주시면 됩니다.
![Page 33: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/33.jpg)
제 3회 한양대학교프로그래밍 경시대회
문제 해설 및 풀이
![Page 34: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/34.jpg)
Beginner / Advanced
![Page 35: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/35.jpg)
BEG-I / ADV-J. 자석 꽂아넣기
출제자 : 현은률
최초 정답 팀 : MyDrillDiggingTheSky
TrumpEmperorOfWorld
![Page 36: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/36.jpg)
BEG-I / ADV-J. 자석 꽂아넣기
백트래킹 처럼 보인다.
실제 : 시간 초과
![Page 37: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/37.jpg)
BEG-I / ADV-J. 자석 꽂아넣기
N =1일때 부터 시도하면
F(N) = F(N-1) + 2(N/2) 임을 알 수 있다.
(짝수일 때 N, 홀수일 때 N+1)
![Page 38: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/38.jpg)
BEG-H / ADV-H. HY 수열
출제자 : NC소프트
최초 정답 팀 : 2ge ChoiSun UU
Etach Jo
![Page 39: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/39.jpg)
BEG-H / ADV-H. HY 수열
H수열 -> 페리 수열
* 페리 수열의 특징
i번째 항은
i-1번째 항과 i+1번 항을
바보셈한 결과와 같다
![Page 40: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/40.jpg)
1
4
1
3
1
2
2
3
3
4
1
1
1
3
1
2
2
3
3
4
BEG-H / ADV-H. HY 수열
항상 첫 항과 마지막 항의 합이 답!첫 항은 항상 1/N, 마지막 항은 1/1이므로
답은 N+1 N을 출력
![Page 41: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/41.jpg)
BEG-F / ADV-I. 보고서 검사
출제자 : 정채홍
최초 정답 팀 : MyDrillDiggingTheSky
llllllll
![Page 42: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/42.jpg)
BEG-F / ADV-I. 보고서 검사
각 문자들의 카운팅을 위한 배열을 만들어도 되고, STL map을 사용하여 카운팅 후 iterator로출력해주시면 됩니다.
![Page 43: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/43.jpg)
Advanced Division
![Page 44: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/44.jpg)
E. 369CLAP GAME
출제자 : 권기택
최초 정답 팀 : 4 dollar
![Page 45: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/45.jpg)
E. 369CLAP GAME
K를 P진법으로 변환
1. K%P값을 저장(int형으로 할 시 범위 초과)
2. K=K/P
3. K가 0이 될 때까지 1, 2반복
1에서 저장된 값들과 3, 6, 9, C, L, A, P을 비교하고 진법 변환한 값 혹은 박수를 친다.
![Page 46: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/46.jpg)
C. 디오니소스의 파티
출제자 : 오현석
최초 정답 팀 : Architecture
![Page 47: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/47.jpg)
C. 디오니소스의 파티
입력값의 범위가 크기 때문에
단순히 모든 경우를 돌려보는 것은 불가능.
1차원 DP를 써서 O(LN)에 해결가능
C[i] = i거리까지 도착할 수 있는 최소 시간
C[0] = 0
C[i] = min([MAX_INT]
+ [C[i-dist]+1 for dist in songs if i-dist >= 0])
![Page 48: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/48.jpg)
F. 블록 쌓기
출제자 : 윤승원
최초 정답 팀 : MARCH
![Page 49: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/49.jpg)
F. 블록 쌓기
N <= 10
모든 경우의 수는 최대 10! = 3,628,800
1초에 약 1억번 연산할 수 있기 때문에모든 경우의 수를 재귀함수로 시도해도
시간 안에 답을 구할 수 있다.
![Page 50: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/50.jpg)
B. 7777
출제자 : 허재석
최초 정답 팀 : MARCH
![Page 51: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/51.jpg)
B. 7777
1582년 10월 15일부터 경과한 날을 구하는 함수 get_datestamp(date)를 작성
get_datestamp(“특정 날짜“) –get_datestamp(“마지막 연애날짜“) >= 7777
특정 연도가 윤년인지 판단하는 함수도 만드는것이 좋습니다.
![Page 52: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/52.jpg)
G. 그녀를 찾아서
출제자 : 김정무
최초 정답 팀 : Your team name here
![Page 53: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/53.jpg)
G. 그녀를 찾아서
간단한 최단거리 문제
거리를 저장하는 dist배열을 만듬
상하좌우로 이동하면서 dist배열 갱신
![Page 54: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/54.jpg)
G. 그녀를 찾아서
- 주의점 – 얘가 왼쪽에서온건 알겠는데…방향전환을 한
걸까??
![Page 55: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/55.jpg)
G. 그녀를 찾아서
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
난 위에서 온최단거리야
난 왼쪽에서 온최단거리야
![Page 56: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/56.jpg)
G. 그녀를 찾아서
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
얘는 같은방향에서 왔으니
방향전환을 안했군!!
![Page 57: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/57.jpg)
G. 그녀를 찾아서
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
상
하
좌 우
얘는 다른방향에서왔으니
방향전환을 했군!!
![Page 58: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/58.jpg)
A. 무빙워크 설치할 돈도 없으면 네 실력을 탓해
출제자 : 김종현
최초 정답 팀 : Your team name here
![Page 59: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/59.jpg)
A. 무빙워크 설치할 돈도 없으면 네 실력을 탓해
해설 :모든 건물이 서로 연결되어 있어야 한다최소 스패닝 트리(크루스칼 알고리즘)
무빙워크를 간선으로 생각할 때 금으로 만드는 경우 비용0, 은이면 1, 동이면 10000으로 잡으면 된다.
금으로 만드는 경우 비용이 없기 때문에 항상 은, 동으로 만드는 경우보다 우선적으로 작용한다.
N<10000이므로 항상 은이 동으로 만드는 경우 보다 우선적으로 작용한다.
->크루스칼 알고리즘이 기본적으로 그리디 알고리즘임을 이용함
![Page 60: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/60.jpg)
A. 무빙워크 설치할 돈도 없으면 네 실력을 탓해
전체 비용 : cost
Cost % 10000 silver
(Cost –silver)/10000 bronze
N-1-silver-bronze gold
스패닝 트리 완성이 불가능 할 경우 -1
![Page 61: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/61.jpg)
D. 약물 회수하기
출제자 : 김종현
최초 정답 팀 : ???
![Page 62: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/62.jpg)
D. 약물 회수하기
해설 :
BFS를 통해 약물이 있는 모든 마을 간의 거리를전처리 한다. O(그리드의 크리 *n)
약물의 등급에 따라 각 마을을 정렬한다
O(nlogn)
![Page 63: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/63.jpg)
D. 약물 회수하기
해설 :
DP[현재 위치][앞으로 담을 수 있는 개수][연속]
=> 필요한 최소한의 이동거리
연속으로 담은 횟수가 2 ->다음 위치의 약물등급은현재 위치의 약물보다 등급이 2이상 커야 한다.
아니라면 다음 위치의 약물은 현재 위치의 약물 등급보다 크기만 하면 된다.
![Page 64: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/64.jpg)
D. 약물 회수하기
해설 :DP[현재 위치][앞으로 담을 수 있는 개수][연속]=> 필요한 최소한의 이동거리
DP[now][cnt][suc] = min(DP[next][cnt-1][suc+1], DP[next2][cnt-1][1])
Next는 now위치보다 약물 등급이 1 큰경우Next2는 now위치보다 약물 등급이 2이상인 경우
Cnt가 0인 경우 ->회수를 중단하고 처음위치로 돌아가도록
![Page 65: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/65.jpg)
D. 약물 회수하기
해설 :
DP[현재 위치][앞으로 담을 수 있는 개수][연속]
담을 수 있는 개수를 이분탐색을 통해 재귀적으로 다이나믹 프로그래밍을 진행 ->O(n^3 * logn)
단순히 담을 수 있는 개수를 하나씩 줄이면서 진행
->O(n^4)
O(n^4)의 최적화되지 않은 코드까지 통과되도록 허용
![Page 66: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/66.jpg)
K. 비숍 배치하기
출제자 : 김정무
최초 정답 팀 : ???
![Page 67: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/67.jpg)
K. 비숍 배치하기
이분매칭 문제
![Page 68: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/68.jpg)
K. 비숍 배치하기
한대각선 안에는하나의 비숍만놓을 수 있음
![Page 69: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/69.jpg)
K. 비숍 배치하기
![Page 70: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/70.jpg)
K. 비숍 배치하기
오른쪽으로 내려오는 대각선과왼쪽으로 내려오는대각선 매칭!!
![Page 71: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/71.jpg)
K. 비숍 배치하기
장애물이 있는경우
![Page 72: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/72.jpg)
K. 비숍 배치하기
룩이 있는 경우파란 부분에는 놓을 수 없다.
![Page 73: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/73.jpg)
K. 비숍 배치하기
파란색 부분에서 만나는대각선은 매칭을 시켜주지 않는다.
![Page 74: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/74.jpg)
L. 크리스마스 전구
출제자 : 허재석
최초 정답 팀 : ???
![Page 75: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/75.jpg)
L. 크리스마스 전구
일반적으로 time & space complexity O(NM)에 구할 수 있다.
이 문제는 space complexity를 O(min(N, M))으로 줄이는 것이 목표이다.
![Page 76: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/76.jpg)
L. 크리스마스 전구
두 문자열을 A, B라 할 때
B를 중간 지점에서 나눈 B_left와 B_right를 생각하자.
B_left에 해당하는 LCS를 만들어내는 A의 왼쪽 부분과B_right에 해당하는 LCS를 만들어내는 오른쪽 부분이있다.
물론, 그 A의 왼쪽 부분과 오른쪽 부분은 B를 나눈 경우와 다르게 정확히 절반씩 나누어지지 않을 수 있다.
![Page 77: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/77.jpg)
L. 크리스마스 전구
출제자 : 허재석
최초 정답 팀 :
![Page 78: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/78.jpg)
L. 크리스마스 전구
![Page 79: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/79.jpg)
L. 크리스마스 전구
Space Complexity – 𝜃 min 𝑁,𝑀
Time Complexity –
𝑂 𝑁𝑀 + 2𝑂𝑁
2
𝑀
2+ 22𝑂
𝑁
22𝑀
22+ …
= 𝑂(
𝑖=0
∞𝑁𝑀
2𝑖) = 𝑂 2𝑁𝑀 = 𝑂(𝑁𝑀)
![Page 80: [D2 CAMPUS] 2016 한양대학교 프로그래밍 경시대회 문제풀이](https://reader031.vdocuments.mx/reader031/viewer/2022012320/5875aa1e1a28ab8b618b4725/html5/thumbnails/80.jpg)
L. 크리스마스 전구
Hirschberg's algorithm