Notice
Recent Posts
Recent Comments
Link
전자공학 및 알고리즘
백준 1100 - 하얀 칸(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/1100
1100번: 하얀 칸
체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램
www.acmicpc.net
하얀 칸 위에 말이 몇개가 있는지 구하는 문제입니다.
흰색칸과 검은색 칸이 번갈아가면서 나타날 때, 흰색 칸 위에 말이 몇개가 위에 있는지 구하는 문제입니다.
1번, 3번, 5번.. 과 같이 홀수 줄에는 흰색 칸이 홀수번째 칸에 존재합니다.
2번, 4번, 6번.. 과 같이 짝수 줄에는 흰색 칸이 짝수번째 칸에 존재합니다.
이를 생각해 말이 어디 있는지 판별하면 됩니다.
자세한 것은 코드를 참고해주세요
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
#define P pair<int, int>
#define F first
#define S second
#define INF 987654321
using namespace std;
char map[9][9];
int main(){
cin.tie(0);
cout.tie(0);
int cnt = 0;
for(int i = 1; i <= 8; i++){
for(int j = 1; j <= 8; j++){
cin >> map[i][j];
if(i % 2 == 1){ //홀수 줄일 때는 홀수 칸이 흰색
if(j % 2 == 1 && map[i][j] == 'F') cnt++;
}
else{ // 짝수 줄일 때는 짝수 칸이 흰색
if(j % 2 == 0 && map[i][j] == 'F') cnt++;
}
}
}
cout << cnt;
return 0;
}
질문 및 조언은 댓글을 남겨주세요
'백준' 카테고리의 다른 글
백준 10824 - 네 수(C++) (0) | 2023.05.06 |
---|---|
백준 10798 - 세로읽기(C++) (0) | 2023.05.06 |
백준 1032 - 명령 프롬프트(C++) (0) | 2023.05.06 |
백준 10988 - 팰린드롬인지 확인하기(C++) (0) | 2023.05.06 |
백준 11437 - LCA(C++) (0) | 2023.04.25 |