
문제 해설
Difficulty : *800 (Greedy / Math)
n*m 공간에 1*2 크기 조각을 튀어나오지 않게 최대한 많이 채워 넣는 문제입니다.
풀이
조각의 한쪽 길이가 1이고 돌려서 끼우는 것과 빈공간을 허용하는 문제이므로 단순히 공간 크기(n*m)를 2로 나눈 값을 출력하면 됩니다. 만약 공간 크기가 짝수라면 조각은 딱 떨어지게 들어갈 것이고, 홀수라면 1*1 크기 공간이 하나 남게 됩니다.
코드
C
1 2 3 4 5 6 7 8 | #include <stdio.h> int main() { int n, m; scanf ( "%d %d" , &m, &n); printf ( "%d" , n*m/2); return 0; } |
C++
1 2 3 4 5 6 7 8 | #include <iostream> int main() { int n, m; std::cin>>n>>m; std::cout<<n*m/2; return 0; } |
Java
1 2 3 4 5 6 7 8 9 10 | 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
1 2 | n, m = map ( int , input ().split()) print (n * m / / 2 ) |