일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 보안취약점
- static
- 버킷리스트
- Transition
- Recylcer
- 심리여행
- Interface
- abstract
- bytecode 분석
- 여행
- opcode
- IMPLEMENT
- 심리학
- 취약점
- ㅇ
- HelloWorld
- 보안
- throws
- Shared Elements
- 여행계획
- Android
- extends
- bytecode
- 일상탈출
- javap
- 회피
- 치유
- 일상회피
- Navigation Component
- jvm
Archives
- Today
- Total
패스트터틀
(Baekjoon) GreedyAlgorithm - (16) 병든 나이트 본문
https://www.acmicpc.net/problem/1783
N>=3,M>=7이상부터는
1. 2칸 위로, 1칸 오른쪽
2. 2칸 아래로, 1칸 오른쪽
이 두방법으로 왔다갔다 하는것이 최댓값이다.
모르면 그림그려가면서 경우의수 따져보면 바로나온다.
이게 왜 그리디 알고리즘인지 모르겠다. 다들 if문으로 풀었다.
package GreedyAlgorithm;
import java.util.Scanner;
public class _1783 {
static int night_max(int n,int m){
if(n==1) return 1;
if(n==2){
if(m == 1 || m == 2) return 1;
if(m == 3 || m == 4) return 2;
if(m == 5 || m == 6) return 3;
if(m >= 7) return 4;
}
if(n>=3){
if(m==1) return 1;
if(m==2) return 2;
if(m==3) return 3;
if(m>=4 && m<=6) return 4;
if(m>=7) return (m-7) + 5;
}
return 0;
}
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
System.out.println(night_max(N, M));
sc.close();
}
}
백준문제풀이Github :
https://github.com/sdk0213/baekjoon-study
'Algorithm > baekjoon' 카테고리의 다른 글
(Baekjoon) GreedyAlgorithm - (18) 수리공 항승 (0) | 2019.12.20 |
---|---|
(Baekjoon) GreedyAlgorithm - (17) 저울 (0) | 2019.12.19 |
(Baekjoon) GreedyAlgorithm - (15) 한 줄로 서기 (0) | 2019.12.16 |
(Baekjoon) GreedyAlgorithm - (14) 반도체 설계 (0) | 2019.12.13 |
(Baekjoon) dp - (7) 가장 긴 증가하는 부분 수열_O(NlogN) (0) | 2019.12.13 |
Comments