패스트터틀

(Baekjoon) GreedyAlgorithm - (16) 병든 나이트 본문

Algorithm/baekjoon

(Baekjoon) GreedyAlgorithm - (16) 병든 나이트

SudekY 2019. 12. 16. 19:09

https://www.acmicpc.net/problem/1783

 

1783번: 병든 나이트

첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

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

 

sdk0213/baekjoon-study

solve a baekjoon question. Contribute to sdk0213/baekjoon-study development by creating an account on GitHub.

github.com

 

Comments