문제 풀이
검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다고 합니다.
(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 |