체스 판은 하얀칸과 검정칸이 번갈아가며 색칠되어 있다.
(0,0)이 하얀칸이라는 조건이 있으니까, 짝수행의 짝수열은 하얀칸이다. 홀수행의 홀수열도 하얀칸이다.
행,열이 둘다 짝수일때 F값인지 검사했다.
행,열이 둘다 홀수일때 F값인지 검사했다.
#include <bits/stdc++.h>
using namespace std;
char board[10][10];
int answer;
void check(int &h, int &w){
if(board[h][w] == 'F') answer++;
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
for(int i = 0; i < 8; i++)
for(int j = 0; j < 8; j++)
cin >> board[i][j];
for(int i = 0; i < 8; i++){
for(int j = 0; j < 8; j++){
if(i % 2 == 0 && j % 2 == 0) check(i, j);
if(i % 2 == 1 && j % 2 == 1) check(i, j);
}
}
cout << answer;
return 0;
}
아래의 성질을 이용했다.
짝수 + 짝수 == 짝수
홀수 + 홀수 == 짝수
#include <bits/stdc++.h>
using namespace std;
string st;
int answer;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
for (int i = 0; i < 8; i++){
cin >> st;
for (int j = 0; j < 8; j++) {
if((i + j) % 2 == 0 && st[j] == 'F') answer++;
}
}
cout << answer;
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
통계학 백준 2108번 c++ (0) | 2022.02.22 |
---|---|
종이의 개수 백준 1780번 c++ (0) | 2022.02.21 |
다이얼 백준 5622번 c++ (0) | 2022.02.21 |
네 번째 점 백준 3009번 c++ (0) | 2022.02.21 |
백설 공주와 일곱 난쟁이 백준 3040번 c++ (0) | 2022.02.20 |