Algorithm

[백준 1100] 하얀 칸

Mirab 2021. 11. 30. 18:40
문제 풀이

 

검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다고 합니다.

(0,0)이 하얀 칸이면 (0,1)은 검정 칸.. 반복

이랬을 때 규칙을 찾아보면 하얀칸인 좌표는 x + y 가 항상 짝수임을 알 수 있습니다.

따라서 x + y 가  짝수이면서 'F'로 찍힌 곳만 카운팅 해서 출력하면 됩니다. 

 

소스 코드
#include <iostream>
#include <string>
using namespace std;

char board[8][8];

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	for (int i = 0; i < 8; i++)
	{
		string s;
		cin >> s;
		for (int j = 0; j < s.size(); j++)
		{
			board[i][j] = s[j];
		}
	}

	int cnt = 0;
	for (int i = 0; i < 8; i++)
	{
		for (int j = 0; j < 8; j++)
		{
			if ((i + j) % 2 == 0 && board[i][j] == 'F')
				cnt++;
		}
	}

	cout << cnt << endl;
	return 0;
}

'Algorithm' 카테고리의 다른 글

[백준 1225] 이상한 곱셈  (0) 2021.11.30
[백준 1213] 팰린드롬 만들기  (0) 2021.11.30
[백준 1110] 더하기 사이클  (0) 2021.11.29
[백준 2884] 알람 시계  (0) 2021.11.29
[백준 1009] 분산처리  (0) 2021.11.27