[백준] 25285번: 심준의 병역판정검사

짜장범벅·2022년 8월 7일
0

백준

목록 보기
21/26

1 문제

조건이 주어졌을 때 단순 구현

2 Idea

문제를 성실히 구현하면 된다.

3 Code

//link: https://www.acmicpc.net/problem/25285

#include <iostream>

int Determine(const int height, const int weight){
    int grade = -1;
    const double BMI = static_cast<double>(weight) / ((static_cast<double>(height)/100.0)*(static_cast<double>(height)/100.0));

    if (height <= 140){
        grade = 6;
    }
    else if (height < 146){
        grade = 5;
    }
    else if (height < 159){
        grade = 4;
    }
    else if (height < 161){
        if ((BMI < 16.0) || (BMI >= 35.0)){
            grade = 4;
        }
        else{
            grade = 3;
        }
    }
    else if (height < 204){
        if ((BMI < 16.0) || (BMI >= 35.0)){
            grade = 4;
        }
        else if (((BMI >= 16.0) && (BMI < 18.5)) || ((BMI>=30.0) && (BMI<35.0))){
            grade = 3;
        }
        else if (((BMI >= 18.5) && (BMI < 20.0)) || ((BMI>=25.0) && (BMI<30.0))){
            grade = 2;
        }
        else{
            grade = 1;
        }
    }
    else{
        grade = 4;
    }

    return grade;
}

int main(){
    int T=0;
    std::cin >> T;

    for (int i=0; i<T; ++i){
        int height = 0;
        int weight = 0;

        std::cin >> height >> weight;

        std::cout << Determine(height, weight) << std::endl;
    }
}
profile
큰일날 사람

0개의 댓글