[백준 BOJ] 15700번 타일 채우기 4 (C++/cpp)

2022. 7. 25. 23:35PS (Program Solving)/BOJ (백준)

문제 설명

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

 

15700번: 타일 채우기 4

첫째 줄에 N과 M이 주어진다. (1 ≤ N, M ≤ 1,000,000,000)

www.acmicpc.net

백준 BOJ 15700번 타일 채우기 4 문제 사진

 

접근 방법 - 사칙연산의 기본 문제

백준의 15700번 문제는 사칙연산에 있어 기본적인 문제이다.

해당 문제는, 입력받은 넓이의 벽을 1*2, 2*1 크기의 타일로 채우는 데에 사용되는 타일의 최대 개수를 출력해야 하는 문제이다.

이 문제는 결국 입력받은 넓이의 벽을 넓이가 2인 타일 몇 개로 최대한 채울 수 있는지를 묻고 있는 문제이다.

따라서, 곱셈과 나눗셈을 적절히 사용하여 코드를 작성하면 쉽게 해결될 것으로 예상된다.

다만, 입력값의 최대 범위가 꽤 크기 때문에 c언어나 cpp의 경우엔 long long int형으로 입력받아야 하는 점을 유의하길 바란다.

필자는 아래처럼 코드를 작성하여 문제를 해결하였다.

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 15700번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	long long int n, m;
	cin >> n >> m;
	cout << (n * m) / 2 << endl;
}

 

제출 결과

백준 BOJ 15700번 타일 채우기 4 문제 C++ 제출 결과

(2022.07.04 백준 15700번 문제 제출 결과)

반응형