HillHike
By 불타는 아잍(IT)스크림 | 2020년 3월 10일 |
Code public class HillHike{ public long numPaths(int distance, int maxHeight, int[] _landmarks) { long[][][] cache1 = new long[2][52][51]; long[][][] cache2 = new long[2][52][51]; cache1[0][0][0] = 1; int[] landmarks = new int[_landmarks.length+1]; System.arraycopy(_landmarks,0,landmarks,0,_landmarks.length); landmarks[_landmarks.length] = -1;
[TopCoder] 둥근 모양의 국가들(CirclesCountry) 분석 및 풀이
By 쾌청모멘트의 쾌청한 하루 | 2017년 3월 28일 |
![[TopCoder] 둥근 모양의 국가들(CirclesCountry) 분석 및 풀이](https://img.zoomtrend.com/2017/03/28/b0057850_58da2e25142bd.png)
* 문제 번호 * SRM443 Div2 Lv2 * 문제 유형 * 수학 * 사용 언어 * C++ * 풀이 상태 * SUCCESS * 소요 시간 * 10분 * 나의 전략 * 레벨 2의 문제 치고 너무 쉽게 풀려서 당황했던 문제. 그 흔한 함정조차 없었다. 요점은 시작점과 도착점이 '반드시' 하나의 원형 경계를 넘는 경우를 캐치할 수 있냐는 것. 아주 당연하게도, 두 점 중 하나가 원 하나의 radius 내부에 존재하고, 하나가 바깥에 존재하는 경우만 해당된다. 즉, (x-x1)^2 + (y-y1)^2 <= R*R 인 것. 출발점과 도착점이 모두 원 안에 있거나, 반대로 모두 밖에 있는 경우에는 원의 경계를 넘을 필요가 없기
Masterbrain
By 불타는 아잍(IT)스크림 | 2020년 4월 1일 |
Code public class Masterbrain { String score(String g, String p) { int b = 0, w = 0; boolean[] ug = new boolean[4]; boolean[] up = new boolean[4]; for (int i = 0; i < 4; i++) { if (g.charAt(i)==p.charAt(i)) { b++; ug[i] = true; up[i] = true; } } for (int i = 0; i < 4; i++
Lottery
By 불타는 아잍(IT)스크림 | 2020년 1월 16일 |
Code import java.util.Arrays;import java.util.Comparator; public class Lottery{ long perm(long a, long b) { long num = 1; for (int i = 0; i < b; i++) num *= a--; return num; } long fact(long a) { long num = 1; for (int i = 2; i <= a; i++) num *= i; return num; } long cbn(long n, long r) { if(r &