Notice
Recent Posts
Recent Comments
Link
알고리즘 모음(C++)
백준 1652 - 누울 자리를 찾아라(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/1652
가로 혹은 세로로 누울 자리를 찾는 문제입니다.
누울 자리는 항상 2칸 이상이여야 하며, 끝에는 짐이나 벽에 닿아야합니다.
자세한 것은 코드를 참고해주세요
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
using namespace std;
int N;
char map[111][111];
int row, col;
void find_row(){
for(int i = 1; i <= N; i++){
int Can = 0;
for(int j = 1; j <= N; j++){
if(map[i][j] == '.') Can++;
if(map[i][j] == 'X') {
if(Can >= 2) row++;
Can = 0;
}
}
if(Can >= 2) row++;
}
}
void find_col(){
for(int i = 1; i <= N; i++){
int Can = 0;
for(int j = 1; j <= N; j++){
if(map[j][i] == '.') Can++;
if(map[j][i] == 'X'){
if(Can >= 2) col++;
Can = 0;
}
}
if(Can >= 2) col++;
}
}
void solve(){
find_row();
find_col();
cout << row << " " << col;
}
int main(){
cin.tie(0);
cout.tie(0);
cin >> N;
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++){
cin >> map[i][j];
}
}
solve();
return 0;
}
질문 및 조언은 댓글을 참고해주세요
'백준' 카테고리의 다른 글
백준 1919 - 애너그램 만들기(C++) (0) | 2023.06.09 |
---|---|
백준 5218 - 알파벳 거리(C++) (2) | 2023.06.09 |
백준 1225 - 이상한 곱셈(C++) (0) | 2023.06.03 |
백준 1969 - DNA(C++) (0) | 2023.06.03 |
백준 1371 - 가장 많은 글자(C++) (0) | 2023.06.03 |