반응형

백준 18301번 Rats 풀이 코드

C | C++ | Java | Python

영어(English)


문제 해설

쥐가 몇 마리나 있을지 세 봅시다. 꼭꼭 숨어 있는 쥐를 정확히 세긴 어려우므로 추정치를 사용할 거예요. 총 이틀 동안 쥐를 잡고, 첫째 날에 잡힌 쥐는 n1, 둘째 날에 잡힌 쥐는 n2, 양일에 잡힌 쥐는 n12라고 표기합니다. 추정식이 N := ⌊(n1 + 1)(n2 + 1)/(n12 + 1) -1⌋ 일 때, 주어진 n1, n2, n12를 보고 N을 출력하세요. ⌊x⌋ 는 x보다 작거나 같은 가장 가까운 정수입니다. 즉, 나누고 나머지는 버리라는 거죠.

풀이

나눗셈으로 구현할 수 있습니다.

코드

#include <stdio.h>

int main(){
    int n1, n2, n3;
    scanf("%d %d %d", &n1, &n2, &n3);
    printf("%d", (n1+1)*(n2+1)/(n3+1)-1);
    return 0;
}
#include <iostream>
using namespace std;

int main(){
    int n1, n2, n3;
    cin >> n1 >> n2 >> n3;
    cout << (n1+1)*(n2+1)/(n3+1)-1;
    return 0;
}
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n1 = sc.nextInt();
        int n2 = sc.nextInt();
        int n3 = sc.nextInt();
        System.out.print((n1+1)*(n2+1)/(n3+1)-1);
    }
}
n1, n2, n3 = map(int, input().split())
print((n1+1)*(n2+1)//(n3+1)-1)

문제 출처

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

반응형

+ Recent posts