문제 해설
Difficulty : *800 (Greedy / Math)
n*m 공간에 1*2 크기 조각을 튀어나오지 않게 최대한 많이 채워 넣는 문제입니다.
풀이
조각의 한쪽 길이가 1이고 돌려서 끼우는 것과 빈공간을 허용하는 문제이므로 단순히 공간 크기(n*m)를 2로 나눈 값을 출력하면 됩니다. 만약 공간 크기가 짝수라면 조각은 딱 떨어지게 들어갈 것이고, 홀수라면 1*1 크기 공간이 하나 남게 됩니다.
코드
C
#include <stdio.h>
int main() {
int n, m;
scanf("%d %d", &m, &n);
printf("%d", n*m/2);
return 0;
}
C++
#include <iostream>
int main() {
int n, m;
std::cin>>n>>m;
std::cout<<n*m/2;
return 0;
}
Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
System.out.println(n*m/2);
}
}
Python
n, m = map(int, input().split())
print(n*m//2)