[BOJ] 1074번 Z

yeham·2022년 11월 8일
0

백준

목록 보기
8/22

문제

Z

코드

#include <iostream>
#include <cmath>

using namespace std;

int ft_z(int n, int r, int c)
{
	if (n == 1)
	{
		if (r == 0 && c == 0)
			return (0);
		else if (r == 0 && c == 1)
			return (1);
		else if (r == 1 && c == 0)
			return (2);
		else
			return (3);
	}
	int area = pow(2, n - 1);
	if (r  < area && c < area)
		return (ft_z(n - 1, r, c));
	else if (r  < area && c >= area)
		return (ft_z(n - 1, r, c - area) + area * area);
	else if (r  >= area && c < area)
		return (ft_z(n - 1, r - area , c) + (area * area * 2));
	else
		return (ft_z(n - 1, r- area, c - area) + (area * area * 3));
}

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n, r, c, count;
	cin >> n >> r >> c;
	count = ft_z(n, r, c);
	cout << count;
	return (0);
}
profile
정통과 / 정처기 & 정통기 / 42seoul 7기 Cardet / 임베디드 SW 개발자

0개의 댓글